程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

100个Java工具类之58:集合HashSet

balukai 2025-01-07 10:51:45 文章精选 4 ℃

HashSet是Java集合框架的一部分。

HashSet基于哈希表实现,允许存储null元素。哈希表是一种数据结构,它可以根据键(Key)快速地存取值(Value)。

HashSet实现了Set接口,因此不允许出现重复元素,这是它最主要的特点。

HashSet的四个特性:

1、不允许出现重复元素:因为HashSet是基于哈希表的,所以每个元素都被视为一个唯一的键。如果两个元素不同,它们的哈希码(Hash Code)也一定不同。如果两个元素的哈希码不同,它们会被存储在不同的位置。

2、可以包含null元素:但是只能有一个。

3、不保证元素的顺序:因为HashSet是基于哈希表的,所以它不保证元素的顺序。具体来说,如果两个元素具有相同的哈希码,它们会被存储在一个链表中。在这个链表中,元素的顺序是不确定的。

4、线程不安全

下面是一些使用HashSet的例子:

一、简单实例

Bash
//创建HashSet
HashSet<String> set = new HashSet<>();
//添加元素:
set.add("A");
set.add("B");
set.add("C");
输出:[A, B, C]
//判断HashSet是否包含某个元素:
boolean contains = set.contains("A");
输出:true
//从HashSet中获取元素
String str = set.iterator().next();
输出:A
//获取HashSet的大小
int size = set.size();
输出:3
//遍历HashSet中的所有元素
for (String str : set) {
	System.out.println(str);
}
输出:A B C
//克隆一个HashSet
HashSet<String> clone = (HashSet<String>) set.clone();
输出:[A, B, C]
//从HashSet中删除元素
set.remove("B");
输出:[A, C]
//清空HashSet
set.clear();
输出:[]
//判断HashSet是否为空:
boolean isEmpty = set.isEmpty();
输出:true

感谢你的阅读,如果你需要作者提供哪些工具类,请在评论区提出~

最近发表
标签列表