由hash表支持,它不保证set的迭代顺序,特别是它不保证改顺序恒久不变。
//构造一个空的set
HashSet<Integer> set = new HashSet<Integer>();
for(int i=0;i<10;i++) {
set.add(i);
}
/*
* add() 如果set中不包含指定的元素,则添加指定的元素
*/
Iterator<Integer> ll = set.iterator();
/*
* 返回对set中的元素进行迭代的迭代器。返回元素的顺序是排序好的顺序(升序排列)
*/
while(ll.hasNext()) {
System.out.println(ll.next());
}
System.out.println(set.size());
//返回set中元素的数量
System.out.println(set.isEmpty());
//如果set中不包含任何元素,就返回true
System.out.println(set.contains(23));
//如果set中已经包含这个元素就返回true,如果不包含就返回false
System.out.println(set.remove(4));
//如果指定的元素存在set中,我们就把它移除,并返回true,否则的话返回false
set.clear();
//pubic void clear() 清除set中的所有元素
HashSet<Integer> set2 = (HashSet<Integer>) set.clone();
//返回hashset的浅表副本,并没有复制元素的本身
并没有实际的把值给复制过来,还是用的原来的地址空间。