Java HashSet类
HashSet扩展了AbstractSet类并实现了Set接口。它创建一个使用哈希表进行存储的集合。
哈希表通过一种叫做 哈希 的机制来存储信息。在哈希中,关键信息被用来确定一个唯一的值,称为其哈希码。
哈希码然后被用作存储与关键字关联的数据的索引。关键字转换成哈希码的过程是自动执行的。
以下是HashSet类提供的构造方法列表。
Sr.No. | 构造函数与描述 |
---|---|
1 | HashSet() 这个构造函数构造一个默认的HashSet。 |
2 | HashSet(Collection c) 这个构造函数使用集合 c 的元素初始化哈希集。 |
3 | HashSet(int capacity) 这个构造函数将哈希集的容量初始化为给定的整数值 capacity 。当向HashSet添加元素时,容量会自动增长。 |
4 | HashSet(int capacity, float fillRatio) 这个构造函数根据参数初始化哈希集的容量和填充比率(也称为装载因子)。填充比率必须在0.0和1.0之间,它决定了哈希集在调整大小之前可以有多满。具体来说,当元素的数量大于哈希集的容量乘以其填充比率时,哈希集将进行扩展。 |
除了从父类继承的方法外,HashSet还定义了以下方法−
序号 | 方法和描述 |
---|---|
1 | boolean add(Object o) 如果该集合中尚未包含指定元素,则将其添加到该集合中。 |
2 | void clear() 从该集合中移除所有元素。 |
3 | Object clone() 返回此HashSet实例的浅拷贝:元素本身不会被克隆。 |
4 | boolean contains(Object o) 如果该集合包含指定的元素,则返回true。 |
5 | boolean isEmpty() 如果该集合不包含任何元素,则返回true。 |
6 | Iterator iterator() 返回该集合中元素的迭代器。 |
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();
// add elements to the hash set
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]