如果自定義的類想要添加到TreeSet集合中就必須 實作 Comparable 或者 Comparator,如果實作Comparable 就是自然排序,Comparator 就是 定制排序
自然排序的步驟
1 定義bean類 實作Comparable接口并且重寫 compareTo方法
2 測試類進行測試。
public class Test {
public static void main(String[] args) {
long l = System.currentTimeMillis();
TreeSet<Mark> set = new TreeSet<Mark>();
set.add(new Mark("張三", 11, 88));
set.add(new Mark("李四", 11, 98));
set.add(new Mark("王五", 11, 8));
long l2 = System.currentTimeMillis();
System.out.println(set);
System.out.println("運作時間為"+(l2-l));
}
}
class Mark implements Comparable<Mark> {
String name;
int age;
int count;
public Mark(String name, int age, int count) {
super();
this.name = name;
this.age = age;
this.count = count;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
@Override
public String toString() {
return "Mark [age=" + age + ", count=" + count + ", name=" + name + "]";
}
@Override
public int compareTo(Mark o) {
if (this.count > o.count) {
return -1;
} else if (this.count < o.count) {
return 1;
} else {
if (this.age > o.age) {
return 1;
} else if (this.age < age) {
return -1;
} else {
CollationKey key = Collator.getInstance().getCollationKey(
this.name);
CollationKey key1 = Collator.getInstance().getCollationKey(
o.name);
return key.compareTo(key1);
}
}
}
}