Java中的HashSet
HashSet扩展AbstractSet并实现Set接口。它创建一个使用哈希表进行存储的集合。
哈希表通过使用称为哈希的机制来存储信息。在散列中,键的信息内容用于确定唯一值,称为其散列码。
然后,将哈希码用作存储与键关联的数据的索引。键到其哈希码的转换是自动执行的。
以下是HashSet类提供的构造函数的列表。
该构造函数构造一个默认的HashSet。
此构造函数通过使用collectionc的元素初始化哈希集。
此构造函数将哈希集的容量初始化为给定的整数值容量。
随着将元素添加到HashSet中,容量会自动增长。
此构造函数根据其参数初始化哈希集的容量和填充率(也称为负载容量)。
此处的填充率必须在0.0到1.0之间,并且它确定哈希集在向上调整大小之前可以有多满。具体来说,当元素的数量大于哈希集的容量乘以其填充率时,哈希集将被扩展。
除了从其父类继承的方法之外,HashSet定义以下方法-
如果指定的元素尚不存在,则将其添加到此集合中。
从此集合中删除所有元素。
返回此HashSet实例的浅表副本:元素本身未克隆。
如果此集合包含指定的元素,则返回true。
如果此集合不包含任何元素,则返回true。
返回对此集合中的元素进行迭代的迭代器。
从该集合中移除指定的元素(如果存在)。
返回此集合中的元素数(其基数)。
示例
以下程序说明了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]