StringBuffer 不能用作关键字类
HashTableTest.java
package Bean;
import java.util.Enumeration;
import java.util.Hashtable;
public class HashTableTest {
public static void main(String[] args)
{
Hashtable<MyKey, Integer> numbers = new Hashtable<MyKey, Integer>();
MyKey myKeyTest = new MyKey("Books",22);
numbers.put(myKeyTest, new Integer(1));
numbers.put(new MyKey("Mcrady",23), new Integer(1));//关键值不能相等,值可以相等;主要是覆盖了MyKey中的hashCode和equals方法。
numbers.put(new MyKey("Jeson1",21), new Integer(3));
numbers.put(new MyKey("Jeson2",21), new Integer(4));
numbers.put(new MyKey("Jeson3",21), new Integer(5));
numbers.put(new MyKey("Jeson4",21), new Integer(6));
Enumeration<MyKey> enume = numbers.keys();
MyKey mykey = new MyKey();
while(enume.hasMoreElements())
{
try
{
mykey = (MyKey) enume.nextElement();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
System.out.println( mykey.getName()+"'age is " +mykey.getAge()+ " Key is:" + numbers.get(mykey));
}
System.out.println(numbers.get(new MyKey("Jeson4",21)));
}
}
MyKey.java
package Bean;
public class MyKey {
private String name = null;
private int age = 0;
public MyKey()
{
}
public MyKey(String name, int age)
{
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public boolean equals(Object obj)
{
if(obj instanceof MyKey )
{
MyKey objTemp = (MyKey) obj;
if(name.equals(objTemp.name) && age == objTemp.age)
{
return true;
}
else
return false;
}
else
return false;
}
public int hashCode()
{
return name.hashCode() + age;
}
}
分享到:
相关推荐
这个压缩包文件“hashtable存储数据.rar”很可能包含了示例代码,展示了如何使用`Hashtable`来存储和操作数据。 `Hashtable`主要特点: 1. **非空键值对**:`Hashtable`不接受null键或null值。试图插入null键或null...
标题"hashtable存储IP"指出,我们将讨论如何利用哈希表来存储IP地址,以实现高效的数据操作。 IP地址是由32位二进制数组成的,通常被分为四组,每组8位,用点分十进制表示。例如,192.168.1.1。在处理IP地址时,...
哈希表(Hashtable)是.NET框架中的一种常用数据结构,主要用作键值对存储,它提供了快速的数据存取方式。在WinForm应用程序中,我们可能会利用Hashtable来管理各种对象,尤其是在需要高效查找和操作数据时。下面将...
与此相关的,`Hashtable`是.NET框架中的一个古老的集合类,用于存储键值对,它在早期的.NET应用中十分常见。然而,随着.NET Framework的发展,`Dictionary, TValue>`逐渐取代了`Hashtable`,因为后者不支持泛型,且...
在C# .NET编程环境中,`HashTable`类是一个非同步、无序的键值对集合,它提供了快速的数据存储和检索功能。`HashTable`类是基于哈希表数据结构实现的,这使得它能够通过键(key)来快速查找值(value)。在本文中,...
1. 动态扩容:当哈希表的负载因子(元素数量/哈希表大小)超过某个阈值时,应进行扩容,以保持低冲突率,提高性能。 2. 再哈希:在解决冲突时,可以设计多个哈希函数,当第一个函数发生冲突时,使用第二个函数,...
在Java编程语言中,`Hashtable`是`Collections`框架的一部分,它是一个同步的键值对存储容器。在早期的Java版本中,`Hashtable`并没有直接支持泛型,这意味着你可以在其中存储任何类型的键(`Object`)和值(`Object...
2. 性能:HashMap的性能比HashTable好,因为HashMap使用数组和链表来存储键值对,而HashTable使用链表来存储键值对。 3. null键:HashMap允许存放null键和null值,而HashTable不允许存放null键和null值。 常见面试...
在ASP.NET中,Hashtable是一种常用的数据结构,它是一个键值对集合,允许程序员存储和检索对象。本篇文章将深入探讨如何在ASP.NET中遍历Hashtable,以及相关的重要知识点。 首先,理解Hashtable的基本概念至关重要...
`HashMap` 和 `HashTable` 都是 Java 集合框架中非常重要的数据结构,它们都实现了 `Map` 接口,用于存储键值对。尽管它们在功能上有很多相似之处,但在实现细节和性能特性上存在显著差异。 #### 二、主要区别 1. ...
Hashtable使用哈希表存储数据,通过计算键(key)的哈希码来定位元素的位置。由于哈希码是快速计算的,因此插入、查找和删除操作的时间复杂度通常为O(1),这使得Hashtable成为处理大量数据的理想选择。 在C#中创建...
在Java编程中,`HashMap`与`HashTable`作为两种常用的数据结构,经常被用来存储键值对数据。尽管它们在功能上相似,但在实现细节、性能表现以及使用场景方面存在显著差异。本文将深入探讨两者之间的区别,帮助读者更...
2. 创建Hashtable:在C#代码中,创建一个Hashtable来存储分页参数,如: ```csharp Hashtable pageInfo = new Hashtable(); pageInfo.Add("PageSize", 10); // 每页记录数 pageInfo.Add("CurrentPage", n); // 当前...
在Java编程语言中,`HashMap`和`Hashtable`是两种非常重要的数据结构,它们都用于存储键值对。然而,在实际应用过程中,这两种数据结构有着本质的不同,下面将详细介绍这些差异。 #### 1. 历史背景及实现原理 - **...
哈希表(Hash Table)是一种数据结构,它...在C语言中,这些概念可以通过结构体和链表来实现,提供高效的动态存储管理。通过阅读和理解"hashtable.c"和"hashtable.h",我们可以深入了解这一核心数据结构的实现细节。
在Java编程语言中,`HashMap`和`HashTable`是两种非常重要的数据结构,它们都实现了`Map`接口,并提供了键值对的存储方式。这两种数据结构虽然相似,但在实现细节和使用场景上存在显著差异。下面将详细介绍`HashMap`...
`HashTable`内部使用了一个`Entry`数组来存储键值对,通过计算键值对的哈希码确定元素在数组中的位置。当需要添加元素时,`HashTable`会根据键的哈希码将其放置到相应的位置上;查找元素时,同样利用键的哈希码快速...
在Java编程语言中,`Hashtable`和`HashMap`是两种非常重要的数据结构,它们都实现了`Map`接口,用于存储键值对。尽管它们有着相似的功能,但在实现细节和应用场景上存在显著差异。接下来,我们将详细探讨`Hashtable`...
总之,使用Session和Hashtable实现购物车功能是一种常见且实用的方法,它充分利用了Web服务器的存储能力,保证了用户在多个页面间跳转时购物车数据的一致性。通过不断实践和优化,我们可以构建出高效、稳定的购物车...
在IT领域,序列化和反序列化是两个关键的概念,特别是在处理对象持久化、网络传输或数据存储时。本文将详细探讨标题所提及的“hashtable序列化与反序列化”,并提供一个基本的示例。 首先,让我们理解什么是序列化...