为Worker类增加相应的方法,使得Worker放入 HashSet 中时 Set 中没有重复元素,并编写相应的测试代码。 在前面的Worker类基础上,为Worker 类添加相应的代码,使得Worker 对象能正确放入TreeSet中。并编写相应的测试代码。 要求:比较时,先比较工人年龄大小,年龄小的排在前面。如果两个工人年龄铜,则再比较其收入,收入少的排前面。如果年龄和收入都相同,则根据字典顺序比较工人姓名。
时间: 2023-04-01 15:02:44 浏览: 192
编写在不同上下文中运行的JS代码。 例如,在Web Worker中使用DOM。-JavaScript开发
Worker类增加相应的方法:
```java
@Override
public int hashCode() {
return Objects.hash(name, age, income);
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
Worker worker = (Worker) obj;
return age == worker.age &&
income == worker.income &&
Objects.equals(name, worker.name);
}
```
测试代码:
```java
Set<Worker> workerSet = new HashSet<>();
workerSet.add(new Worker("张三", 25, 500));
workerSet.add(new Worker("李四", 30, 600));
workerSet.add(new Worker("王五", 25, 450));
workerSet.add(new Worker("赵六", 28, 550));
System.out.println(workerSet);
```
Worker类添加相应的代码:
```java
@Override
public int compareTo(Worker o) {
if (this.age != o.age) {
return this.age - o.age;
} else if (this.income != o.income) {
return this.income - o.income;
} else {
return this.name.compareTo(o.name);
}
}
```
测试代码:
```java
Set<Worker> workerSet = new TreeSet<>();
workerSet.add(new Worker("张三", 25, 500));
workerSet.add(new Worker("李四", 30, 600));
workerSet.add(new Worker("王五", 25, 450));
workerSet.add(new Worker("赵六", 28, 550));
System.out.println(workerSet);
```
阅读全文