<pre name="code" class="java">二叉树分为先序遍历,中序遍历,后序遍历 在此不详细列出
import java.util.Comparator;
import java.util.TreeSet;
/*
* 存储学生对象,要求保证唯一和排序(按照学生的姓名长度从长到短)。
*/
public class TreeSetTest {
public static void main(String[] args) {
//创建集合对象
TreeSet<Student> treeSet = new TreeSet<Student>(new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
// 主要操作
int num = s2.getName().length() - s1.getName().length();
// 次要条件
int num2 = num == 0 ? s1.getName().compareTo(s2.getName())
: num;
int num3 = num2 == 0 ? s1.getAge() - s2.getAge() : num2;
return num3;
}
});
//存储学生对象,要求保证唯一和排序(按照学生的姓名长度从长到短)。
// 创建学生对象
Student s1 = new Student("baigujing", 20);
Student s2 = new Student("zixixianzi", 22);
Student s3 = new Student("guanyinjiejie", 18);
Student s4 = new Student("tangseng", 20);
Student s5 = new Student("bailongma", 20);
Student s6 = new Student("niumowang", 24);
Student s7 = new Student("taibaijinxing", 55);
Student s8 = new Student("change", 18);
Student s9 = new Student("change", 18);
Student s10 = new Student("zixixianzi", 22);
// 添加元素
treeSet.add(s1);
treeSet.add(s2);
treeSet.add(s3);
treeSet.add(s4);
treeSet.add(s5);
treeSet.add(s6);
treeSet.add(s7);
treeSet.add(s8);
treeSet.add(s9);
treeSet.add(s10);
// 遍历
for (Student s : treeSet) {
System.out.println(s.getName() + "---" + s.getAge());
}
}
}