HashSet
HashSet扩展了AbstractSet并实现了Set接口。 它创建了一个使用哈希表进行存储的集合。
哈希表通过使用称为hashing的机制来存储信息。 在散列中,密钥的信息内容用于确定称为其哈希码的唯一值。
然后将哈希码用作存储与密钥相关联的数据的索引。 将密钥转换为其哈希码是自动执行的。
以下是HashSet类提供的构造函数列表。
Sr.No. | 构造函数和描述 |
---|---|
1 | HashSet( ) 此构造函数构造默认的HashSet。 |
2 | HashSet(Collection c) 此构造函数通过使用集合c的元素初始化哈希集。 |
3 | HashSet(int capacity) 此构造函数将哈希集的容量初始化为给定的整数值容量。 当元素添加到HashSet时,容量会自动增长。 |
4 | HashSet(int capacity, float fillRatio) 此构造函数从其参数初始化哈希集的容量和填充率(也称为负载容量)。 这里填充率必须介于0.0和1.0之间,并且它确定散列集在向上调整大小之前的完整程度。 具体地,当元素的数量大于散列集的容量乘以其填充率时,扩展散列集。 |
除了从其父类继承的方法之外,HashSet还定义了以下方法 -
Sr.No. | 方法和描述 |
---|---|
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() 返回此集合中的元素数(基数)。 |
例子 (Example)
以下程序说明了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);
}
}
这将产生以下结果 -
输出 (Output)
[A, B, C, D, E, F]