📜  Set 接口 (1)

📅  最后修改于: 2023-12-03 15:05:11.307000             🧑  作者: Mango

Set 接口

Set 接口是 Java 集合框架中的一种集合类型,它是一个无序不重复元素的集合。Set 接口继承自 Collection 接口,扩展了 Collection 接口,主要的实现类有 HashSet 和 TreeSet。

特点
  • Set 集合中不允许有重复元素。
  • Set 集合中的元素是无序的。
  • Set 集合中的元素不能通过索引访问。
方法

Set 接口扩展了 Collection 接口,因此 Collection 接口中的方法 Set 集合也全部可用。此外,Set 接口还扩展了一个 Iterator iterator() 方法,用来返回 Set 集合的迭代器。

以下是 Set 接口中的方法列表:

  • add(E e):添加给定元素到集合中。
  • clear():从集合中删除所有元素。
  • contains(Object o):如果集合包含指定元素,则返回 true。
  • isEmpty():如果集合为空,返回 true。
  • iterator():返回集合的迭代器。
  • remove(Object o):从集合中删除指定元素。
  • size():返回集合中元素的个数。
实现类
HashSet

HashSet 是基于哈希表实现的 Set 集合,最常用的 Set 实现类之一。它内部通过 HashMap 存储元素,它的元素是无序的,且 HashSet 不允许有重复元素。

以下是 HashSet 的特点:

  • HashSet 是基于哈希表实现的,因此它的添加、删除、查找操作都非常快。
  • HashSet 允许 null 元素。
  • HashSet 保证元素是唯一的,因此它不会添加重复元素。

以下是创建 HashSet 对象的语法:

Set<String> set = new HashSet<>();
TreeSet

TreeSet 是基于红黑树实现的 Set 集合,它实现了 SortedSet 接口,因此它的元素是有序的。TreeSet 不允许有重复元素。

以下是 TreeSet 的特点:

  • TreeSet 底层是红黑树实现的,因此它能够保证元素的有序性。
  • TreeSet 不允许有重复元素。
  • TreeSet 没有提供 get() 方法,因为 TreeSet 是有序的,可以使用 tailSet(), headSet() 和 subSet() 方法获取子集。

以下是创建 TreeSet 对象的语法:

Set<String> set = new TreeSet<>();
总结

Set 接口是 Java 中的一种集合类型,它是一个无序不重复元素的集合。Set 接口继承自 Collection 接口,扩展了 Collection 接口,主要的实现类有 HashSet 和 TreeSet。HashSet 是基于哈希表实现的,它的元素是无序的且不允许有重复元素。TreeSet 是基于红黑树实现的,它的元素是有序的且不允许有重复元素。通过 Set 接口的方法,可以对集合进行添加、删除、查找等操作。