创建一个集合储存员工信息,员工信息包括工号、姓名、年龄、工资等。要求员工信息中不允许出现同工号的员工。,用java
时间: 2024-05-11 13:17:55 浏览: 98
可以使用Java中的HashSet来实现这个需求,HashSet是一种无序的、不重复的集合,可以保证元素唯一性。具体实现代码如下:
```java
import java.util.HashSet;
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;
}
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;
}
public static void main(String[] args) {
HashSet<Employee> employeeSet = new HashSet<Employee>();
Employee employee1 = new Employee("001", "张三", 25, 5000.0);
Employee employee2 = new Employee("002", "李四", 30, 8000.0);
Employee employee3 = new Employee("001", "王五", 28, 6000.0);
employeeSet.add(employee1);
employeeSet.add(employee2);
employeeSet.add(employee3);
System.out.println("员工信息列表:");
for (Employee employee : employeeSet) {
System.out.println("工号:" + employee.getId() + ",姓名:" + employee.getName() +
",年龄:" + employee.getAge() + ",工资:" + employee.getSalary());
}
}
}
```
在这个示例中,我们先定义了一个Employee类,包含了员工的工号、姓名、年龄、工资等信息,并且重写了equals()和hashCode()方法,以保证HashSet中的元素不重复。
然后我们创建了一个HashSet对象employeeSet,用来存储员工信息。接着我们创建了三个员工对象,并将它们添加到employeeSet中。注意到员工1和员工3的工号是相同的,但是由于我们在Employee类中重写了equals()和hashCode()方法,所以HashSet会自动去重,只保留一个员工信息,实现了不允许出现同工号的员工的需求。
最后我们遍历HashSet,输出所有员工的信息。
阅读全文