注意:①List集合可以保存重复的数据,而Set集合不允许;
②List集合是按照存储顺序保存的,而Set集合中HashSet不是按照存储的顺序保存数据,具有不确定性,因此它没有"get"方法;
③LinkedHashSet是按照用户存储的顺序存储的;
④TreeSet按照自然顺序保存数据。
1.Set大部分方法与List类似,此处不再赘述;
2.
Set<String>names = new HashSet<String>();//调用HashSet构造方法;
//上述代码的源码为:
/* public HashSet() {
map = new HashMap<>();//为map成员变量赋值,HashMap对象;
}*/
names.add("Jim");
//源码为:
/*public boolean add(E e){
return map.put(e,PRESENT)==null;//向map集合中HashMap容器添加数据PRESENT常量,本质是HashSet存储数据时本质是存到了HashMap集合的key;
}*/
3.遍历集合:
因为存储方式没有顺序,所以无法使用传统方法遍历;
①foreach;
②遍历器Iterator;