第一:HashSet的构造和增加元素
集合中存放的是对象的引用。集合中元素的存储空间是自动开辟的,不像数组需要预先开辟内存。
HashSet hashSet = new HashSet();
hashSet.add(new Integer(1)); //向集合中添加一个整数
hashSet.add("a"); //向集合中添加一个字符串
int x[] = {1,2,3,4,5};
hashSet.add(x); //向集合中添加一个数组
Person p = new Person("张三", 23, "男", "研究生");
hashSet.add(p); //向集合中添加一个自定义类的对象
第二: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 int[]){
System.out.println("integer:"+x[4]);
}
if(obj instanceof Person){
System.out.println("Person:"+p.getName()+p.getAge()+p.getSex()+p.getEducation());
}
}
输出结果是:
integer:1
integer:5
String:a
Person:张三23男研究生
注意:(1)因为集合是无序的,所以输出结果也是无序的。
(2)判断对象是否是数组 obj.getClass().isArray()。
(3)判断对象是否是所属地类obj.getClass().getName()。
第三:删除HashSet中的元素
删除一个元素:hashSet.remove(Object);
删除所有元素:hashSet.clear();
第四:判断是否包含某个元素
if(hashSet.contains(new String("a"))){
System.out.println("String");
}