给一个Java使用set解决问题的案例
时间: 2024-09-22 18:04:41 浏览: 29
JAVA新手入门60个案例.zip
在Java中,Set接口及其实现类(如HashSet、LinkedHashSet、TreeSet等)通常用于存储一组唯一的元素,不允许有重复值,并且它们内部实现了高效的插入和查询操作。下面是一个简单的例子,假设我们想存储并查找员工的唯一ID:
```java
import java.util.*;
public class EmployeeIds {
// 使用HashSet存储唯一ID
private Set<Integer> employeeIds;
public EmployeeIds() {
this.employeeIds = new HashSet<>();
}
// 添加员工ID
public void addEmployeeId(int id) {
if (!employeeIds.contains(id)) { // 检查是否已存在
employeeIds.add(id);
}
}
// 查找是否存在某个员工ID
public boolean containsEmployeeId(int id) {
return employeeIds.contains(id);
}
// 主要是演示添加和查找操作
public static void main(String[] args) {
EmployeeIds employeeRecords = new EmployeeIds();
// 添加员工ID
employeeRecords.addEmployeeId(101);
employeeRecords.addEmployeeId(102); // 第二个102会自动忽略,因为Set不允许重复
// 查找员工ID
System.out.println(employeeRecords.containsEmployeeId(101)); // 输出:true
System.out.println(employeeRecords.containsEmployeeId(103)); // 输出:false,因为103不在集合中
// 清理不再使用的员工ID
employeeRecords.removeEmployeeId(101); // 这里只是为了展示,实际上可能不需要手动移除
}
}
```
在这个例子中,当试图添加一个已经存在的ID时,HashSet会自动忽略,这使得它非常适合存储唯一值的需求。同时,查找某个ID是否存在也非常快速。
阅读全文