Set集合是是由一串无序的、不能重复的相同类型元素构成的集合,因为存储数据的时候要先判断其元素的hashCode值,不一样再存储。
1)Set集合是Collection集合的子类。
2)不包含重复的元素的集合。
3)没有带索引的方法,所以不能用普通的for循环遍历。
add(Object element):在Set集合的尾部添加指定的元素。
remove(Object element):如果Set集合中存在指定元素,则从Set集合中移除该元素。
clear():从Set集合中移除所有元素。
isEmpty():判断Set集合中是否有元素。没有返回true,有返回false。
contains(Object element):判断Set集合中是否包含指定元素,包含返回true,不包含返回false。
iterator():返回迭代器(Iterator)对象,迭代器对象用于遍历集合。
size():返回Set集合中的元素数,返回值是int类型。
例如:
importjava.util.HashSet;importjava.util.Set;publicclassMain{publicstaticvoidmain(String[]args){Setset=newHashSet();Stringb=B;//向集合中添加元素set.add(A);set.add(b);set.add(C);set.add(b);set.add(D);set.add(b);set.add(E);//打印集合元素个数System.out.println(集合size=+set.size());//打印集合System.out.println(set);//移出集合中第一个“B”元素set.remove(b);//判断集合中是否包含“B”元素System.out.println(是否包含B:+set.contains(b));//判断集合是否为空System.out.println(set集合是空的:+set.isEmpty());//清空集合set.clear();System.out.println(set);}}
运行结果如下:
集合size=5[A,b,C,D,E]是否包含B:falseset集合是空的:false[]
哈希值是JDK根据u第项的地址或者数字运算出来的int类的数值,Object类中有一个方式可以获取哈希值,public int hashCode();返回哈希值。
对象哈希值的特点如下:
1)同一个对象多次调用和hashCode()方法返回的哈希值是相同的。
2)默认情况下,不同对象的哈希值是不同的,但可以通过重写hashCode方法使得哈希值相同。
注意:有不一样的字符串的哈希值也有一样,因为String重写了hashCode方法,比如“重地”和“通话”,哈希值都是1179395。