java需要创建一个集合储存员工信息,员工信息包括工号、姓名、年龄、工资等。要求员工信息中不能出现相同工号的员工。
时间: 2024-05-02 19:23:12 浏览: 157
可以使用Java中的HashMap集合来储存员工信息,其中以工号为键,以员工信息对象为值。具体步骤如下:
1. 定义一个Employee类,包括工号、姓名、年龄、工资等属性,并实现相应的getter和setter方法。
```java
public class Employee {
private String id; // 工号
private String name; // 姓名
private int age; // 年龄
private double salary; // 工资
public Employee(String id, String name, int age, double salary) {
this.id = id;
this.name = name;
this.age = age;
this.salary = salary;
}
// getter和setter方法
public String getId() {
return id;
}
public void setId(String 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;
}
}
```
2. 创建一个HashMap对象来存储员工信息,以工号为键,以员工信息对象为值。
```java
Map<String, Employee> employeeMap = new HashMap<>();
```
3. 向HashMap中添加员工信息,添加之前先判断该工号是否已经存在,如果存在则不能添加。
```java
Employee employee1 = new Employee("001", "张三", 25, 5000.0);
if (!employeeMap.containsKey(employee1.getId())) {
employeeMap.put(employee1.getId(), employee1);
}
Employee employee2 = new Employee("002", "李四", 28, 6000.0);
if (!employeeMap.containsKey(employee2.getId())) {
employeeMap.put(employee2.getId(), employee2);
}
Employee employee3 = new Employee("001", "王五", 30, 8000.0); // 工号重复,不能添加
if (!employeeMap.containsKey(employee3.getId())) {
employeeMap.put(employee3.getId(), employee3);
}
```
4. 遍历HashMap,输出员工信息。
```java
for (Map.Entry<String, Employee> entry : employeeMap.entrySet()) {
System.out.println("工号:" + entry.getKey() + ", 姓名:" + entry.getValue().getName()
+ ", 年龄:" + entry.getValue().getAge() + ", 工资:" + entry.getValue().getSalary());
}
```
阅读全文