Java 中的 HashSet

HashSet 继承自抽象类 AbstractSet 并实现 java.util.Set。HashSet 类创建一个对象集合,该集合使用哈希表进行存储。

哈希表通过为值提供唯一键来标识值来存储值。键不能与两个值关联,不像< href=http://www.codeurjava.com/2015/04/comment-trier-une-HashMap-par-valeurs.html” target=_blank”>HashMap.

Constructors

HashSet 有四个构造函数:
  • HashSet():创建一个初始容量为 16.
  • HashSet(Collection <? extends E> c):创建一个包含集合 c 中的项的新集合。添加元素时,该能力会自动增加。
  • HashSet(int capaciteInit):创建初始容量的空列表 capaciteInit.
  • HashSet(int capaciteInit, float loadFactor):创建一个应介于 0.0 和 1.0 之间的初始容量和 loadFactor 的空 HashSet,它在调整列表大小之前确定列表的大小。

Methods

除了从父类继承的方法之外,其他方法列表:
  • add(E e):添加一个元素;
  • remove(Object o):删除元素;
  • clear(): 删除 HashSet 的所有元素;
  • contains(Object o):如果要查找的对象存在,则返回 true,否则为 false;
  • isEmpty():如果列表为空,则返回 true;
  • size():返回大小;
  • iterator():返回 Iterator.

Example

import java.util.HashSet;

public class ExampleHashSet {

public static void main(String[] args) {
HashSet<字符串>hset = 新的 HashSet<字符串>();
 //添加元素
hset.add(hotel”);
hset.add(汽车旅馆”);
hset.add(火锅”);
hset.add(弹簧”);

System.out.println(hset.size());
//删除 motel
hset.remove(motel”);
//测试存在
System.out.println(hset.contains(motel”));
//检查设置是否为空
System.out.println(hset.isEmpty());

//浏览 HashSet
for(String value:
hset)
 System.out.println(value);
}
}