32 lines
1.1 KiB
Java
32 lines
1.1 KiB
Java
package com.inmind.treeset02;
|
|
|
|
import java.util.Comparator;
|
|
import java.util.TreeSet;
|
|
|
|
/*
|
|
TreeSet保存自定义对象
|
|
注意:TreeSet会使用元素的自带的自然排序功能Comparable接口
|
|
*/
|
|
public class TreeSetDemo09 {
|
|
public static void main(String[] args) {
|
|
//创建一个对学生对象有排序功能的集合
|
|
TreeSet<Student> treeSet = new TreeSet<>();
|
|
treeSet.add(new Student("小王1", 18));
|
|
treeSet.add(new Student("小王2", 17));
|
|
treeSet.add(new Student("小王3", 20));
|
|
System.out.println(treeSet);
|
|
System.out.println("--------------如果自定义对象没有自然排序或者不符合我们的需求,使用比较器------------------");
|
|
TreeSet<Student> sets = new TreeSet<>(new Comparator<Student>() {
|
|
@Override
|
|
public int compare(Student o1, Student o2) {
|
|
return o2.age - o1.age;
|
|
}
|
|
});
|
|
|
|
sets.add(new Student("小王1", 18));
|
|
sets.add(new Student("小王2", 17));
|
|
sets.add(new Student("小王3", 20));
|
|
System.out.println(sets);
|
|
}
|
|
}
|