1、介绍
HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。
HashSet 允许有 null 值。
HashSet 是无序的,即不会记录插入的顺序。
HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。
HashSet 实现了 Set 接口。
2、使用
导入包:
import java.util.HashSet;
初始化:
HashSet<E> hashset=new HashSet<E>();
3、功能函数
(1)添加元素
import java.util.HashSet;
public class Main
{
public static void main(String[] args) {
HashSet<Character> set=new HashSet<Character>();
set.add('z');
set.add('p');
set.add('s');
System.out.println(set);
}
}
(2)删除元素
import java.util.HashSet;
public class Main
{
public static void main(String[] args) {
HashSet<Character> set=new HashSet<Character>();
set.add('z');
set.add('p');
set.add('s');
set.add('p');//重复元素不会再添加
System.out.println(set);
set.remove('s');//删除某一元素
System.out.println(set);
set.clear();//清空
System.out.println(set.size());
}
}
[p, s, z]
[p, z]
0
(3)判断元素是否存在
import java.util.HashSet;
public class Main
{
public static void main(String[] args) {
HashSet<Character> set=new HashSet<Character>();
set.add('z');
set.add('p');
set.add('s');
set.add('p');//重复元素不会再添加
System.out.println(set);
System.out.println(set.contains('p'));
}
}
4、遍历元素
import java.util.HashSet;
public class Main
{
public static void main(String[] args) {
HashSet<Character> set=new HashSet<Character>();
set.add('z');
set.add('p');
set.add('s');
set.add('p');//重复元素不会再添加
System.out.println(set);
for(char c:set)
{
System.out.print(c+" ");
}
}
}
[p, s, z]
p s z