Java 初学者的Set教程

原文: https://javabeginnerstutorial.com/core-java-tutorial/set-collection-tutorial-for-java-beginners/

Set是 Java 集合框架的一部分。 Setjava.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):构造一个新的链接哈希集,其元素与指定的集合相同。