TreeMap从添加第二个元素开始,需要进行排序,原始类继承Comparable<Student>接口实现compareTo方法。

  1. 自然排序,在Student类中重写compareTo方法,关于o的理解
     @Override
        public int compareTo(Student o) {
            //关于o,是红黑树中从第二个开始进入的元素,需
            //要和已存在的元素比较,该o是在第二个add
            //调用时,传入这里的Student对象。
            //根据题设,先用年龄排序
            int result = this.getAge() - o.getAge();
    
            //如果年龄相同,则用name排序
            result = result == 0 ? this.getName().compareTo(o.getName()) : result;
            return result;
        }
  2. 比较器排序 
    TreeMap<Student, String> tm = new TreeMap<>(采取匿名内部类形式,直接在此处new一个Comparator<Student>()接口);
  3.  
posted @ 2024-03-24 13:58  冷风5997  阅读(3)  评论(0编辑  收藏  举报