摘要:存储元素实际为存储的键值对为的,为固定对象遍历方式支持正向反向迭代器遍历和遍历顺序迭代器实现顺序遍历实现逆序遍历反向迭代器实现
HashSet & TreeSet小结 声明
文章均为本人技术笔记,转载请注明出处:https://segmentfault.com/u/yzwall
HashSet小结 HashSet简介HashSet是一个没有重复元素的集;
HashSet可以存储null元素,不保证元素插入顺序;
HashSet线程不安全的(由于底层由HashMap实现);
HashSet底层采用HashMap存储:private transient HashMap
由于HashMap中key不可重复,从而实现HashSet元素不可重复;
HashSet支持迭代器和foreach两种遍历方式:
// 遍历HashSet:迭代器实现 Iterator iter = set.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); } // 遍历HashSet:foreach实现 for (Integer i : set) { System.out.println(i); }TreeSet小结
TreeSet是一个有序集,基于TreeMap实现,是线程不安全的;
TreeSet有序性实现TreeSet支持两种两种排序方式,通过不同构造器调用实现
自然排序:
public TreeSet() { // 新建TreeMap,自然排序 this(new TreeMap()); }
Comparator排序:
public TreeSet(Comparator super E> comparator) { // 新建TreeMap,传入自定义比较器comparator this(new TreeMap<>(comparator)); }TreeSet底层实现
TreeSet底层采用TreeMap存储,构造器启动时新建TreeMap。TreeSet存储元素实际为TreeMap存储的键值对为
TreeSet支持正向/反向迭代器遍历和foreach遍历
// 顺序TreeSet:迭代器实现 Iterator iter = set.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); } // 顺序遍历TreeSet:foreach实现 for (Integer i : set) { System.out.println(i); } // 逆序遍历TreeSet:反向迭代器实现 Iterator iter1 = set.descendingIterator(); while (iter1.hasNext()) { System.out.println(iter1.next()); }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/67007.html
摘要:中所有方法都是直接或者间接同步的,所以是线程安全的即多个线程操作同一个对象时是线程安全的,但是只有一个线程操作时考虑到同步控制会耗费系统资源所以效率低。中的所有方法都是线程非同步的,但有多个线程操作时是不安全的。 虽是读书笔记,但是如转载请注明出处http://segmentfault.com/blog/exploring/ ..拒绝伸手复制党 容器之间的区别通常归结为:由什么在背...
摘要:使用默认随机源对指定列表进行置换。将集合排序使用二分搜索法搜索指定列表,以获得指定对象根据元素的自然顺序,返回给定的最大元素。 1_Map集合概述和特点 A:Map接口概述 查看API可以知道: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 B:Map接口和Collection接口的不同 Map是双列的,Collection是单列的 Map...
摘要:集合判断两个元素的标准是两个对象通过方法比较相等,并且两个对象的方法返回值也相等。的集合元素也是有序的,以枚举值在类内的定义顺序来决定集合元素的顺序。是所有实现类中性能最好的,但它只能保存同一个枚举类的枚举值作为集合元素。 Set集合通常不能记住元素的添加顺序。Set不允许包含重复的元素。 Set集合不允许包含相同的元素,如果试图把两个相同的元素加入同一个Set集合中,则添加操作...
摘要:的操作和遍历的三大集合即。的实现类原理比较简单,比较复杂,而其实是基于的一种实现。 List&Map&Set的操作和遍历 Java的三大集合即:Set、List、Map。 Set:代表无序、不可重复的集合,常用的有HashSet(哈希表实现)、TreeSet(红黑树实现); List:代表有序、可以重复的集合,比较常用的有ArrayList(数组实现)、LinkedList(链表实现...
阅读 956·2023-04-25 17:51
阅读 2801·2021-11-23 09:51
阅读 1394·2021-11-08 13:21
阅读 2331·2021-09-22 15:14
阅读 1489·2019-08-30 12:48
阅读 1047·2019-08-29 12:44
阅读 1094·2019-08-26 12:21
阅读 1370·2019-08-26 10:47