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

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

时间:2024-03-24 14:13:40浏览次数:28  
标签:Comparable 元素 TreeMap 第二个 result compareTo 排序

  1. 重写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;
    }

 

标签:Comparable,元素,TreeMap,第二个,result,compareTo,排序
From: https://www.cnblogs.com/dragon-proud-sky/p/18092361

相关文章

  • 集合系列(五) -TreeMap详解
    一、摘要在集合系列的第一章,咱们了解到,Map的实现类有HashMap、LinkedHashMap、TreeMap、IdentityHashMap、WeakHashMap、Hashtable、Properties等等。本文主要从数据结构和算法层面,探讨TreeMap的实现。二、简介JavaTreeMap实现了SortedMap接口,也就是说会按照key的大......
  • Go语言中的comparable接口:打通类型比较的通用之路
    在Go语言中,comparable是一个内置的接口,它代表了所有可以进行比较的类型。这包括布尔型、数值型、字符串、指针、通道以及所有元素也是可比较类型的数组、其字段全为可比较类型的结构体。这意味着,如果一个类型的值可以使用==或!=运算符进行比较,那么这个类型就实现了comparabl......
  • Java String类的compareTo() 方法
    compareTo()方法用于两种方式的比较:字符串与对象进行比较。按字典顺序比较两个字符串。intcompareTo(Objecto)或intcompareTo(StringanotherString)参数o--要比较的对象。anotherString--要比较的字符串。返回值返回值是整型,它是先比较对应字符的大小(ASC......
  • SortedMap、NavigableMap、TreeMap介绍和使用
    SortedMap、NavigableMap、TreeMap介绍和使用SortedMap接口:SortedMap是一个接口,继承自Map接口,它定义了对键值对按照键的自然顺序或自定义顺序进行排序的功能。SortedMap中的键值对是按照键的顺序排列的,因此可以根据键的顺序进行范围查找和遍历操作。SortedMap接口提供了一......
  • TreeMap练习
    TreeMap练习1."aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)packagecom.shujia.day14;importjava.util.Map;importjava.util.Set;importjava.util.TreeMap;publicclassTreeMapTest1{publicstaticvoidmain(String[]arg......
  • 面试官:你知道Comparable 和 Comparator 的区别吗?我:巴拉巴拉
    写在开头面试官:“我们在Java的集合和数据结构中都离不开比较器,请你聊一聊Comparable和Comparator这两种的区别吧”内心活动:“上来就这么直接吗,那些ArrayList,HashMap都不问呀,好,既然如此,那让我来征服你吧,面试官大人!”我:“好滴!巴拉巴拉~”ComparableComparable是java.lang包......
  • TreeMap排序
    实现TreeMap后默认为key升序排序,如果要实现key其他排序规则,可以使用Comparator对象作为参数,前提是key为可以排序的类型(String,int等类型)1Map<String,People>map=newTreeMap<>(newComparator<String>(){2@Override3publicintcompare(finalStringo1,final......
  • Java 中的属性类Properties 以及TreeSet和TreeMap
    属性类Propertiesimportjava.util.Properties;/**目前只需要掌握Properties属性类对象的相关方法即可*Properties是一个Map集合,继承Hashtable,Properties的key和value都是String类型*Properties被称为属性类对象*Properties是线程安全的**/publicclassProperties......
  • compareTo、Comparator、TreeSet排序那些事
    前言:对于后端开发而言,学会对数据的自定义排序还是十分有必要的。需要用到排序的场景也是很多的,什么排行版展示、利用时间+别的条件排序、还有预接单的数据就是要展示在已接单的数据前面这种需求、等等。总之很重要的!一:对集合排序对以下的数据做展示顺序排序:未接单>预接单>已接单。(......
  • c# 类重写Equal,GetHashCode,实现IComparable,IComparable<T>
    ///<summary>///Array,List<T>排序都依赖于IComparable///</summary>publicclassStudent:IEquatable<Student>,IComparable,IComparable<Student>{publicintId{get;set;}publicstringName{get;......