image.png
    image.png

    1. package com.itheima.d9_map_impl;
    2. import com.itheima.d1_set.Apple;
    3. import java.util.Comparator;
    4. import java.util.Map;
    5. import java.util.TreeMap;
    6. public class TreeMapDemo3 {
    7. public static void main(String[] args) {
    8. // TreeMap 有序
    9. Map<Integer,String> maps1 = new TreeMap<>();
    10. maps1.put(13,"王麻子");
    11. maps1.put(1,"张三");
    12. maps1.put(3,"县长");
    13. System.out.println(maps1); //{1=张三, 3=县长, 13=王麻子}
    14. // TreeMap集合自带排序。可排序 不重复 (只要大小规则一样就可以认为重复) 无索引
    15. // 自带比较器
    16. Map<Apple,String> maps2 = new TreeMap<>(new Comparator<Apple>() {
    17. @Override
    18. public int compare(Apple o1, Apple o2) { //
    19. return Double.compare(o2.getPrice(),o1.getPrice()); // 根据价格降序
    20. }
    21. });
    22. maps2.put(new Apple("红富士","红色",9.9,500),"山东");
    23. maps2.put(new Apple("青苹果","绿色",15.9,300),"江西");
    24. maps2.put(new Apple("绿苹果","青色",29.9,400),"广州");
    25. maps2.put(new Apple("黄苹果","红色",9.8, 500),"深圳");
    26. System.out.println(maps2); //{Apple{name='青苹果', color='绿色', price=15.9, weight=300}=江西, Apple{name='绿苹果', color='青色', price=29.9, weight=400}=广州, Apple{name='红富士', color='红色', price=9.9, weight=500}=深圳}
    27. // 输出没有山东,覆盖了
    28. }
    29. }