集合-TreeSet-Comparator

 1 package com.bjpowernode.tree2;
 2 
 3 public class Student {
 4     
 5     private String name;
 6     private int age;
 7     public String getName() {
 8         return name;
 9     }
10     public void setName(String name) {
11         this.name = name;
12     }
13     public int getAge() {
14         return age;
15     }
16     public void setAge(int age) {
17         this.age = age;
18     }
19     public Student(String name, int age) {
20         super();
21         this.name = name;
22         this.age = age;
23     }
24     @Override
25     public String toString() {
26         return "Student [name=" + name + ", age=" + age + "]";
27     }
28     
29 }
 1 package com.bjpowernode.tree2;
 2 
 3 import java.util.Comparator;
 4 
 5 public class StudentComparator implements Comparator<Student> {
 6 
 7     @Override
 8     public int compare(Student stu1, Student stu2) {
 9         
10         if (stu1.getAge()==stu2.getAge()) {
11             return stu1.getName().compareTo(stu2.getName());
12         }
13         return stu1.getAge()-stu2.getAge();
14     }
15 
16 }
 1 package com.bjpowernode.tree2;
 2 
 3 import java.util.Set;
 4 import java.util.TreeSet;
 5 
 6 public class TreeSet1 {
 7 
 8     public static void main(String[] args) {
 9         
10         StudentComparator studentComparator=new StudentComparator();
11         Set<Student> set=new TreeSet<>(studentComparator);
12         Student stu1=new Student("张三", 66);
13         Student stu2=new Student("lisi", 23);
14         Student stu3=new Student("刘能", 45);
15         Student stu4=new Student("赵本山", 62);
16         Student stu5=new Student("赵本山", 62);
17         Student stu6=new Student("abc", 45);
18         set.add(stu1);
19         set.add(stu2);
20         set.add(stu3);
21         set.add(stu4);
22         set.add(stu5);
23         set.add(stu6);
24 //        for (Student student : set) {
25 //            System.out.println(student);
26 //        }
27         System.out.println("姓名\t年龄");
28 //        System.out.println("姓名"+"\t"+"年龄");
29         for (Student student : set) {
30             System.out.println(student.getName()+"\t"+student.getAge());
31         }
32     }
33 
34 }

 

posted @ 2017-05-17 23:26  18600230492  阅读(268)  评论(0)    收藏  举报