HashSet
类扩展了AbstractSet
接口并实现了Set
接口。它创建了一个使用哈希表进行存储的集合。
哈希表通过使用称为哈希的机制来存储信息。在散列中,键信息用于确定哈希码的唯一值。然后将哈希码用作存储与键相关联的数据的索引。将键转换为其哈希码是自动执行的。
以下是HashSet
类提供的几个构造函数列表 -
编号 | 构造函数 | 描述 |
---|---|---|
1 | HashSet() |
HashSet 的默认构造函数。 |
2 | HashSet(Collection c) |
此构造函数通过使用集合c 的元素初始化哈希集。 |
3 | HashSet(int capacity) |
此构造函数将哈希集的容量初始化为给定的整数值容量。当元素添加到HashSet 时,容量会自动增长。 |
4 | HashSet(int capacity, float fillRatio) |
此构造函数使用参数初始化容量和填充率(也称为负载容量)构造HashSet 。 |
除了从父类继承的方法之外,HashSet
还定义了以下方法 -
编号 | 方法 | 描述 |
---|---|---|
1 | boolean add(Object o) |
如果指定的元素尚不存在,则将它添加到此集合中。 |
2 | void clear() |
删除此集合中的所有元素。 |
3 | Object clone() |
返回此HashSet 实例的浅表副本:未克隆元素本身。 |
4 | boolean contains(Object o) |
如果此set 包含指定的元素,则返回true 。 |
5 | boolean isEmpty() |
如果此set 不包含任何元素,则返回true 。 |
6 | Iterator iterator() |
返回此set 中元素的迭代器。 |
7 | boolean remove(Object o) |
如果存在,则从该集合中移除指定的元素。 |
8 | int size() |
返回此集合中的元素数(基数)。 |
示例
以下程序演示了如何使用HashSet
类中的几个方法 -
import java.util.*;
public class HashSetDemo {
public static void main(String args[]) {
// create a hash set
HashSet hs = new HashSet();
// 添加元素到 HashSet
hs.add("B");
hs.add("A");
hs.add("D");
hs.add("E");
hs.add("C");
hs.add("F");
System.out.println(hs);
}
}
执行上面示例代码,得到以下结果 -
[A, B, C, D, E, F]