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