第一: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");
  }