package com.atguigu.java;import org.junit.Test;import java.util.Comparator;import java.util.Iterator;import java.util.Set;import java.util.TreeMap;/** * @author Dxkstart * @create 2021-05-23 18:29 */public class TreeMapTest {    //向TreeMap中添加key-value,要求key必须是由同一个类创建的对象    //因为要按照key进行排序:自然排序 、 定制排序    //自然排序    @Test    public void test1(){        TreeMap map = new TreeMap();        Person p1 = new Person("Tom", 12);        Person p2 = new Person("Jerry", 19);        Person p3 = new Person("Jack", 20);        Person p4 = new Person("Rose", 18);        map.put(p1,89);        map.put(p2,79);        map.put(p3,90);        map.put(p4,98);        //遍历        Set set = map.entrySet();        Iterator iterator = set.iterator();        while(iterator.hasNext()){            System.out.println(iterator.next());        }    }    //定制排序 --->按年龄排序    @Test    public void test2(){        TreeMap map = new TreeMap(new Comparator() {            @Override            public int compare(Object o1, Object o2) {                if(o1 instanceof Person && o2 instanceof Person){                    Person p1 =(Person)o1;                    Person p2 =(Person)o2;                    return Integer.compare(p1.getAge(),p2.getAge());                }                throw new RuntimeException("输入的类型不匹配!");            }        });        Person p1 = new Person("Tom", 12);        Person p2 = new Person("Jerry", 19);        Person p3 = new Person("Jack", 20);        Person p4 = new Person("Rose", 18);        map.put(p1,89);        map.put(p2,79);        map.put(p3,90);        map.put(p4,98);        //遍历        Set set = map.entrySet();        Iterator iterator = set.iterator();        while(iterator.hasNext()){            System.out.println(iterator.next());        }    }}