定义
HashSet继承AbstractSet类,实现Set、Cloneable、Serializable接口。
其中AbstractSet提供 Set 接口的骨干实现,从而最大限度地减少了实现此接口所需的工作。
Set接口是一种不包括重复元素的Collection,它维持它自己的内部排序,所以随机访问没有任何意义。
public class HashSet<E>
extends AbstractSet<E>
implements Set<E>, Cloneable, java.io.Serializable
HashSet的构造
HashSet hashset=new HashSet();
添加元素
//向hashset中添加一个字符串
hashset.add("abc");
//向hashset中添加一个整数
hashset.add(1);
//向hashset中添加一个字符
hashset.add('a');
//向hashset中添加一个数组
int[] abc={10,11,12};
hashset.add(abc);
//向hashset中添加一个自定义对象
Cat cat1=new Cat("asd", 2);
hashset.add(cat1);//向hashset中添加一个对象
遍历HashSet
//遍历HashSet
Iterator it = hashset.iterator();
while(it.hasNext())
{
Object obj = it.next();
if(obj instanceof Integer)
{
System.out.println("Integer:"+obj);
}
if(obj instanceof String)
{
System.out.println("String:"+obj);
}
if(obj instanceof Character)
{
System.out.println("Character:"+obj);
}
if(obj instanceof int[])
{
System.out.print("int[]:");
for(int i=0;i<abc.length;i++)
{
System.out.print(abc[i]+" ");
}
}
}
HashSet常用方法
添加元素:hashset.add(E e):返回boolean型,如果此 set 中尚未包含指定元素,则添加指定元素;如果此 set 已包含该元素,则该调用不更改 set 并返回 false。
删除元素:hashset.clear():从此 set 中移除所有元素。
hashset.remove(Object o):如果指定元素存在于此 set 中,则将其移除。
hashset.isEmpty():如果此 set 不包含任何元素,则返回 true。
hashset.contains(Object o):如果此 set 包含指定元素,则返回 true。
hashset.size():返回此 set 中的元素的数量(set 的容量)。