Java 初学者的Set教程
原文: https://javabeginnerstutorial.com/core-java-tutorial/set-collection-tutorial-for-java-beginners/
Set
是 Java 集合框架的一部分。 Set
是java.util
包中的一个接口。 它实现了Collection
接口。
与集有关的要点
- 它不包含重复的元素。
- 一些
Set
实现对NULL
元素有限制。
Set接口的具体实现
HashSet
LinkedHashSet
TreeSet
EnumSet
Set接口中的重要方法
此接口不包含任何特殊方法。 它仅继承Collection
接口的所有方法。
HashSet
- 此类是 Java 集合框架的一部分。
- 此类实现
Set
接口。 - 它由哈希表支持。
- 它是无序的。 (随着时间的推移,顺序不可预测)
- 基本操作(如添加,删除,包含和大小)的恒定时间性能。
- 它不同步。
Iterator
方法返回的迭代器为快速失败。
构造器
HashSet(Collection<? extends E> c)
:构造一个新集合,其中包含指定集合中的元素。HashSet(int initialCapacity, float loadFactor)
:构造一个新的空集; 支持的HashMap
实例具有指定的初始容量和指定的负载系数。HashSet(int initialCapacity)
:构造一个新的空集。
LinkedHashSet
- 元素的顺序是可预测的。
- 它维护遍历所有条目的双链表。
- 元素的顺序将与插入顺序相同。
- 它允许
NULL
值。 - 与
HashSet
一样,它为基本操作提供恒定的时间性能。 - 链表上的迭代时间与大小成正比。
- 初始容量和负载因子决定
LinkedHashSet
的性能。 - 它不同步。
- 此类的
Iterator
方法返回的迭代器为快速失败。
构造器
LinkedHashSet(int initialCapacity, float loadFactor)
:构造一个具有指定初始容量和负载因子的新的空链接哈希集。LinkedHashSet(int initialCapacity)
:构造一个新的,空的,具有指定初始容量和默认加载因子 0.75 的链接哈希集。LinkedHashSet()
:构造一个新的空链接哈希集,默认初始容量为 16,负载因子为 0.75。LinkedHashSet(Collection<? extends E> c)
:构造一个新的链接哈希集,其元素与指定的集合相同。