用java创建TreeSet集合完成以下操作: 样例输入: Person p1=new Person("001","tt",27); Person p4=new Person("001","tt",29); Person p2=new Person("005","tt1",23); Person p3=new Person("006","tt2",27); Person p5=new Person("007","tt3",22); Person p6=new Person("007","tt3",40); 样例输出: 001---tt---27 001---tt---29 005---tt1---23 006---tt2---27 007---tt3---22 007---tt3---40
时间: 2023-07-06 11:39:04 浏览: 53
好的,下面是代码实现:
```java
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
TreeSet<Person> set = new TreeSet<>();
Person p1 = new Person("001", "tt", 27);
Person p4 = new Person("001", "tt", 29);
Person p2 = new Person("005", "tt1", 23);
Person p3 = new Person("006", "tt2", 27);
Person p5 = new Person("007", "tt3", 22);
Person p6 = new Person("007", "tt3", 40);
set.add(p1);
set.add(p4);
set.add(p2);
set.add(p3);
set.add(p5);
set.add(p6);
for (Person p : set) {
System.out.println(p);
}
}
}
class Person implements Comparable<Person> {
private String id;
private String name;
private int age;
public Person(String id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
@Override
public String toString() {
return id + "---" + name + "---" + age;
}
@Override
public int compareTo(Person o) {
if (this.age != o.age) {
return Integer.compare(this.age, o.age);
} else if (!this.name.equals(o.name)) {
return this.name.compareTo(o.name);
} else {
return this.id.compareTo(o.id);
}
}
}
```
这个代码实现了一个名为`Main`的类,创建了一个`TreeSet`集合,并添加了6个`Person`对象。然后,遍历集合并输出每个`Person`对象的信息。`Person`类实现了`Comparable`接口,通过重写`compareTo()`方法,实现了按`age`、`name`、`id`的顺序进行比较,并且重写了`toString()`方法,输出了`Person`对象的信息。