Java常见集合框架(十三):Set总结

来源:互联网 发布:大数据的发展图片 编辑:程序博客网 时间:2024/06/06 11:29

Set

  1. 无重复元素
  2. 重写了equals和hashCode方法

TreeSet

  1. 基于TreeMap的红黑树结构实现。
  2. 非同步、fail-fast。
  3. 不允许使用NULL元素。
  4. 适用于排序、不包含重复元素场景。

HashSet

  1. 基于哈希表(HashMap)实现。
  2. 允许使用 null 元素。
  3. 非同步,fail-fast。
  4. 适用于快速查找、不包含重复元素场景。

LinkedHashSet

  1. 基于LinkedHashMap的 Set 接口的哈希表和链接列表实现。
  2. 非同步,fail-fast。
  3. 适用于快速查找、有序、不包含重复元素场景。

CopyOnWriteArraySet

  1. 基于CopyOnWriteArrayList 的 Set。
  2. 同步、fail-safe。
  3. 迭代器不支持可变 remove 操作。
  4. 适用于:set 大小通常保持很小,只读操作远多于可变操作,需要在遍历期间防止线程间的冲突。

ConcurrentSkipListSet

  1. 基于 ConcurrentSkipListMap 的可缩放并发 NavigableSet 实现。
  2. 不允许使用 null 元素。
  3. 有序。

EnumSet

  1. 与枚举类型一起使用的专用 Set 实现。
  2. 不允许使用 null 元素。
  3. 非同步。
原创粉丝点击