package collection;
import java.util.Set;
import java.util.TreeSet;
/**
- 测试TreeSet的使用
- 熟悉Comparable接口
- TreeSet是简化的TreeMap 通过key存储Set元素
- @author
*/
public class TestTreeSet {
public static void main(String[] args) {
Set set = new TreeSet<>();
set.add(1);
set.add(5);
set.add(2);
set.add(9);
//按照元素递增的方式排序
System.out.println(set);
Set<Emp2> set2 = new TreeSet<>();
set2.add(new Emp2(100, "aa", 500));
set2.add(new Emp2(500, "bb", 600));
set2.add(new Emp2(200, "cc", 100));
set2.add(new Emp2(900, "dd", 300));
set2.add(new Emp2(50, "ee", 50));
set2.add(new Emp2(400, "ff", 900));
for(Emp2 a:set2){
System.out.println(a);
}
}
}
class Emp2 implements Comparable{
int id;
String name;
double salary;
public Emp2(int id, String name, double salary) {
super();
this.id = id;
this.name = name;
this.salary = salary;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "id:"+id+" name:"+name+" salary:"+salary;
}
@Override //对自定义类型进行比较时使用compareTo
public int compareTo(Emp2 o) {//负数:小于 0:等于 正数:大于
if(this.salary > o.salary){
return 1;
}else if(this.salary < o.salary){
return -1;
}else{
if(this.id > o.id){
return 1;
}else if(this.id < o.id){
return -1;
}else{
return 0;
}
}
}
}