package top.ltyzqhh.collection;

import java.util.Comparator;
import java.util.TreeMap;

public class TreeMap_ {
    public static void main(String[] args) {
        TreeMap treeMap = new TreeMap(new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                //调用字符大小比较(String的compareTo方法)
                return ((String)o1).compareTo((String)o2);
            }
        });

        treeMap.put("jack",100);
        treeMap.put("tom",233);
        treeMap.put("tocm",400);
        treeMap.put("sp",66);
        treeMap.put("a",3);
        System.out.println("treeMap="+treeMap);
    }
}

        /*
        1.构造器,吧传入的实现了Comparator接口的匿名内部类(对象),传给TreeMap的comparator
        2.调用put方法
         2.1 第一次添加时候,把k-v 封装到Entry对象,放入root
         2.2 后面添加,遍历当前key,给当前key找到适当位置,动态绑定到我们的匿名内部类的comepare,
             如果遍历过程中,发现准备天假Key和当前已有的Key相等,就不添加。
         */