念两句诗

32. Java HashSet

2023-06-19 浏览 JAVA速记 425字 2 min read

HashSet是基于HashMap来实现的,是一个不允许有重复元素的集合.
HashSet允许有null值,HashSet是无序的,不会记录插入的顺序.
HashSet不是线程安全的, 如果多个线程尝试同时修改HashSet, 则最终结果是不确定的, 必须在多线程访问时,显式同步对HashSet的并发访问.
HashSet实现了Set接口.

img

HashSet的元素实际上是对象,一些常见的基本类型可以使用它的包装类.

基本类型 引用类型
boolean Boolean
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character

HashSet位于java.util包中, 使用前需要引入它, 语法格式如下:

import java.util.HashSet;

示例:创建一个HashSet对象,保存字符串元素

HashSet<String> sites = new HashSet<String>();

添加元素

HashSet类提供了很多有用的方法,添加元素可以使用add方法,重复的元素不会被添加

import java.util.HashSet;
public static void main(){
	pulic static void main(String[] args){
		HashSet<String> sites = new HashSet<String>();
		sites.add("Google");
	}
}

判断元素是否存在

使用contains()方法判断元素是否存在于集合当中,返回布尔值

import java.util.HashSet;
public static void main(){
	pulic static void main(String[] args){
		HashSet<String> sites = new HashSet<String>();
		sites.add("Google");
		System.out.println(sites.contains("Google"));
	}
}

删除元素

使用remove()方法来删除集合中的元素,删除成功返回true,否则返回false

sites.remove("Taobao");

删除集合中的所有元素可以使用clear方法

sites.clear();

计算大小

使用size()方法计算HashSet中元素的数量

sites.size();

迭代HashSet

使用for-each迭代

for(String i : sites){
	System.out.println(i);
}
EOF