HashSet是Java集合框架中的一个重要部分,它基于哈希表实现,具有无序、不重复的特点,并且可以存储null值。以下是一些常用的HashSet方法及其功能:
1. `add(element)`:将指定元素添加到HashSet中,如果元素已经存在,则不会重复添加。
2. `remove(element)`:从HashSet中移除指定元素。
3. `contains(element)`:判断HashSet是否包含指定元素。
4. `size()`:返回HashSet中的元素数量。
5. `clear()`:清空HashSet中的所有元素。
6. `isEmpty()`:判断HashSet是否为空。
此外,HashSet还继承了Set接口的其他方法,例如`addAll()`、`retainAll()`、`removeAll()`等,可以用于集合间的操作。
值得注意的是,HashSet是基于哈希表实现的,因此元素的存储顺序是不确定的,并且不支持索引访问。另外,HashSet中的元素必须是可哈希的,即元素类必须正确地实现了`hashCode()`和`equals()`方法,以确保元素的唯一性和正确性。
案例:
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
// 创建一个HashSet
HashSet<String> hashSet = new HashSet<>();
// 使用add方法添加元素
hashSet.add("苹果");
hashSet.add("香蕉");
hashSet.add("橙子");
hashSet.add("葡萄");
hashSet.add("苹果"); // 重复元素,不会被添加
// 打印HashSet中的元素
System.out.println("HashSet中的元素:" + hashSet);
// 使用contains方法检查元素是否存在
if (hashSet.contains("香蕉")) {
System.out.println("HashSet中包含'香蕉'");
} else {
System.out.println("HashSet中不包含'香蕉'");
}
// 使用remove方法删除元素
hashSet.remove("橙子");
System.out.println("删除'橙子'后的HashSet:" + hashSet);
// 使用size方法获取元素数量
int size = hashSet.size();
System.out.println("HashSet中的元素数量:" + size);
// 使用clear方法清空HashSet
hashSet.clear();
System.out.println("清空后的HashSet是否为空:" + hashSet.isEmpty());
}
}