Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误与异常

Java 多线程

Java 同步

Java 网络

Java 集合

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 杂项

Java API 和框架

Java 类参考

Java 有用资源

Java - HashSet 类



简介

Java HashSet 类实现了 Set 接口,其底层由哈希表支持。以下是关于 HashSet 的重要要点:

  • 此类不保证集合的迭代顺序;特别是,它不保证顺序会随着时间的推移保持不变。

  • 此类允许 null 元素。

类声明

以下是 java.util.HashSet 类的声明:

public class HashSet<E>
   extends AbstractSet<E>
   implements Set<E>, Cloneable, Serializable

参数

以下是 java.util.HashSet 类的参数:

E - 此集合维护的元素类型。

类构造方法

序号 构造方法及描述
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(E e)

如果指定的元素尚不存在,则此方法将该元素添加到此集合中。

2 void clear()

此方法从此集合中删除所有元素。

3 Object clone()

此方法返回此 HashSet 实例的浅拷贝,元素本身不会被克隆。

4 boolean contains(Object o)

如果此集合包含指定的元素,则此方法返回 true。

5 boolean isEmpty()

如果此集合不包含任何元素,则此方法返回 true。

6 Iterator<E> iterator()

此方法返回此集合中元素的迭代器。

7 boolean remove(Object o)

如果存在,则此方法从此集合中删除指定的元素。

8 int size()

此方法返回此集合中元素的数量(其基数)。

9 Spliterator<E> spliterator()

此方法返回此集合中元素的延迟绑定且快速失败的 Spliterator。

示例

以下程序说明了 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]

继承的方法

此类继承自以下类的方法:

  • java.util.AbstractSet
  • java.util.AbstractCollection
  • java.util.Object
  • java.util.Set
java_collections.htm
广告