package collection.sort.TreeSet_TreeMap;
public class Person {
private final String name;
private final int handsome;
public Person () {
name =null ;
handsome =0 ;
}
public Person (String name, int handsome) {
super ();
this .name = name;
this .handsome = handsome;
}
public String getName () {
return name;
}
public int getHandsome () {
return handsome;
}
@Override
public String toString () {
return "姓名:" +this .name+",帅气指数:" +this .handsome+"\n" ;
}
}
package collection.sort.TreeSet_TreeMap;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
/**
* 提供了 解耦的方式:业务排序类
*/
public class PersonImpl {
public static void main (String[] args) {
Person p1 =new Person("您" ,100 );
Person p2 =new Person("刘德华" ,1000 );
Person p3 =new Person("梁朝伟" ,1200 );
Person p4 =new Person("老裴" ,50 );
TreeSet<Person> persons =new TreeSet<Person>(
new java.util.Comparator<Person>(){
@Override
public int compare (Person o1, Person o2) {
return -(o1.getHandsome()-o2.getHandsome());
}
}
);
persons.add(p1);
persons.add(p2);
persons.add(p3);
persons.add(p4);
System.out.println(persons);
System.out.println("============================================" );
TreeMap<Person,String> map =new TreeMap<Person,String>(new java.util.Comparator<Person>(){
@Override
public int compare (Person o1, Person o2) {
return -(o1.getHandsome()-o2.getHandsome());
}
} );
map.put(p1, "bjsxt" );
map.put(p2, "bjsxt" );
map.put(p3, "bjsxt" );
map.put(p4, "bjsxt" );
Set<Person> person1 =map.keySet();
System.out.println(person1);
}
}
package collection.sort.TreeSet_TreeMap;
public class Worker implements Comparable<Worker>{
private String type;
private double salary;
public Worker () {
}
public Worker (String type, double salary) {
super();
this .type = type;
this .salary = salary;
}
public String getType () {
return type;
}
public void setType (String type) {
this .type = type;
}
public double getSalary () {
return salary;
}
public void setSalary (double salary) {
this .salary = salary;
}
@Override
public int compareTo (Worker o) {
return this .salary>o.salary?1 :( this .salary==o.salary?0 :-1 );
}
@Override
public String toString () {
return "工种:" +this .type+",工资:" +this .salary+"\n" ;
}
}
package collection.sort.TreeSet_TreeMap;
import java.util.TreeSet;
/**
* 实体类实现Comparable 接口的应用
*/
public class WorkerImpl {
public static void main (String[] args) {
Worker w1 =new Worker("垃圾回收员" ,12000 );
Worker w2 =new Worker("农民工" ,8000 );
Worker w3 =new Worker("程序猿" ,5000 );
TreeSet<Worker> employees =new TreeSet<Worker>();
employees.add(w1);
employees.add(w2);
employees.add(w3);
System.out.println(employees);
}
}