Java - HashSet类


Java - HashSet类

HashSet扩展了AbstractSet并实现了Set接口。它创建了一个使用哈希表进行存储的集合。

哈希表通过使用称为哈希的机制来存储信息。在散列中,密钥的信息内容用于确定称为其哈希码的唯一值。

然后将哈希码用作存储与密钥相关联的数据的索引。将密钥转换为其哈希码是自动执行的。

以下是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。

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();

      // 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]