要在TreeSet中使用自定义类,需要满足以下条件: 1. 自定义类需要实现Comparable接口,并重写compareTo方法。该方法用于定义自定义类的比较规则,以便TreeSet可以根据比较结果进行排序。 2. 在compareTo方法中,需要根据自定义类的某个属性进行比较,并返回比较结果。如果返回负数,则表示当前对象小于比较对象;如果返回正数,则表示当前对象大于比较对象;如果返回0,则表示两个对象相等。 以下是一个使用自定义类的示例: ```java import java.util.TreeSet; class Person implements Comparable<Person> { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public int compareTo(Person other) { // 根据年龄进行比较 return this.age - other.age; } } public class Main { public static void main(String[] args) { TreeSet<Person> set = new TreeSet<>(); set.add(new Person("Alice", 25)); set.add(new Person("Bob", 30)); set.add(new Person("Charlie", 20)); for (Person person : set) { System.out.println(person.getName() + " - " + person.getAge()); } } } ``` 输出结果为: ``` Charlie - 20 Alice - 25 Bob - 30 ``` 可以看到,TreeSet会根据Person对象的年龄进行排序,并按照从小到大的顺序输出。