Person.java
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";
}
}
PersonImpl.java
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);
}
}
Worker.java
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";
}
}
WorkerImpl.java
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);
}
}