java需要创建一个集合储存员工信息,员工信息包括工号、姓名、年龄、工资等。要求员工信息中不能出现相同工号的员工。
时间: 2024-05-10 20:14:26 浏览: 69
可以使用Java中的HashMap来储存员工信息,其中工号作为键(key),员工信息作为值(value)。当添加新员工时,先判断该员工的工号是否已经存在于HashMap中,如果存在则不添加,如果不存在则将员工信息添加到HashMap中。
以下是示例代码:
```java
import java.util.HashMap;
public class Employee {
private int id;
private String name;
private int age;
private double salary;
// 构造函数
public Employee(int id, String name, int age, double salary) {
this.id = id;
this.name = name;
this.age = age;
this.salary = salary;
}
// getter和setter方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
// 测试代码
public static void main(String[] args) {
// 创建HashMap对象
HashMap<Integer, Employee> employeeMap = new HashMap<Integer, Employee>();
// 添加员工信息
Employee e1 = new Employee(1001, "张三", 28, 5000);
Employee e2 = new Employee(1002, "李四", 30, 6000);
Employee e3 = new Employee(1001, "王五", 35, 8000); // 工号已经存在,不会被添加
employeeMap.put(e1.getId(), e1);
employeeMap.put(e2.getId(), e2);
employeeMap.put(e3.getId(), e3);
// 输出员工信息
for (Employee e : employeeMap.values()) {
System.out.println("工号:" + e.getId() + ",姓名:" + e.getName() + ",年龄:" + e.getAge() + ",工资:" + e.getSalary());
}
}
}
```
输出结果为:
```
工号:1001,姓名:张三,年龄:28,工资:5000.0
工号:1002,姓名:李四,年龄:30,工资:6000.0
```
可以看到,重复的工号1001的员工信息并没有被添加到HashMap中。
阅读全文