java中TreeMap用例,并加入比较器排序

来源:互联网 发布:java 泛型 多继承 编辑:程序博客网 时间:2024/05/16 01:08
package itcast04;import java.util.Comparator;import java.util.Set;import java.util.TreeMap;import itcast02.Student;/** * TreeMap<Student, String> * 键:Student * 值:String * 并加入比较器排序 * @author lgt * */public class TreeDemo2 {    public static void main(String[] args) {        //创建集合对象        TreeMap<Student, String> tm = new TreeMap<Student, String>(                new Comparator<Student>() {                    @Override                    public int compare(Student s1, Student s2) {                        //主要条件 按年龄排序                        int num = s2.getAge() - s1.getAge();                        //次要条件 姓名是否相同                        int num2 = num == 0?s1.getName().compareTo(s2.getName()) : num;                        return num2;                    }        });        //创建学生对象        Student s1 = new Student("周星驰", 58);        Student s2 = new Student("刘德华", 56);        Student s3 = new Student("梁朝伟", 54);        Student s4 = new Student("刘嘉玲", 50);        Student s5 = new Student("刘德华", 56);        //存储元素        tm.put(s1, "北京");        tm.put(s2, "上海");        tm.put(s3, "广州");        tm.put(s4, "深圳");        tm.put(s5, "杭州");        //遍历        Set<Student> set = tm.keySet();        for(Student key : set){            String value = tm.get(key);            System.out.println(key.getName() + "---" + key.getAge() + "---"                    + value);        }    }}
0 0
原创粉丝点击