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相等,就不添加。
*/