public static void main(String[] args)
{
Set<String> set = new HashSet<String>();
String str1 = "hello";
String str2 = "world";
String str3 = "welcome";
String str4 = "tom";
String str5 = "akon";
String str6 = "tom";
set.add(str1);
set.add(str2);
set.add(str3);
set.add(str4);
set.add(str5);
set.add(str6);
set.add(str1);
System.out.println(set);
}
一般都会使用TreeSet也是首选,TreeSet是可以排序的集合。
HashSet不能排序,HashSet底层是使用HashMap实现的。当使用add方法将对象添加到Set当中时,实际上是将该对象作为底层所维护的Map对象的key,而value则都是同一个Object对象(该对象我们用不上)
当使用HashSet时,hashCode()方法就会得到调用,判断已经存储在集合中的对象的hash code值是否与增加的对象的hash code值一致;如果不一致,直接加进去;如果一致,再进行equals方法的比较,equals方法如果返回true,表示对象已经加进去了,就不会再增加新的对象,否则加进去。
常规都会选择排序的集合,方便管理。 |