Comparator和Comparable

Stella981
• 阅读 412

12. 比较器java.util 接口 Comparator

  • 集合具有比较特性。
  • 强行对某个对象 collection 进行整体排序 的比较函数。
  • 可以将 Comparator 传递给 sort 方法(如 Collections.sort 或 Arrays.sort),从而允许在排序顺序上实现精确控制。
  • 还可以使用 Comparator 来控制某些数据结构(如有序 set或有序映射)的顺序,或者为那些没有自然顺序的对象 collection 提供排序。

具体方法

  • int compare(T o1,T o2):比较用来排序的两个参数。根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。
  • boolean equals(Object obj):指示某个其他对象是否“等于”此 Comparator。此外,仅当指定的对象也是一个 Comparator,并且强行实施与此 Comparator 相同的排序时,此方法才返回 true。

13. 可比较java.lang 接口 Comparable

  • 元素具有比较特性。
  • 实现子类:String, File, Integer, Boolean, Byte, Double, Float, Long, Short, Date, Calendar
  • 此接口强行对实现它的每个类的对象进行整体排序。
  • 实现此接口的对象列表(和数组)可以通过 Collections.sort(和 Arrays.sort)进行自动排序。
  • 实现此接口的对象可以用作有序映射中的键或有序集合中的元素,无需指定比较器。

具体方法

  • int compareTo(T o):比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。
点赞
收藏
评论区
推荐文章
执键写春秋 执键写春秋
2年前
Java中集合排序常用的方式
1.集合排序概述1.1集合排序的主要内容:集合中的级别数据类型排序集合中的字符串排序Comparator接口Comparable接口1.2数组排序回顾intarr12,25,22,17,89,22;Arrays.sort(arr);输出:12,17,22,22,25,89Java的Arrays类中有一个sort()方法,该方法是Ar
Wesley13 Wesley13
2年前
java中Comparatable接口和Comparator接口的区别
1、不同类型的排序规则.自然排序是什么?  自然排序是一种升序排序。对于不同的数据类型,升序规则不一样:  BigDecimalBigIntegerByteDoubleFloatIntegerLongShort类型,是按照数值的大小进行排序的。例如:12<23,111.1113.23  Charac
执键写春秋 执键写春秋
2年前
Stream流式处理&&Lambda表达式
高度抽象的集合数据处理1.使用Stream流对List进行去重、去偶数,然后查找最大值importjava.util.Arrays;importjava.util.Comparator;publicclassStream1publicstaticvoidmain(Stringargs)intmaxA
Wesley13 Wesley13
2年前
java 数据结构(十二):Collections工具类的使用
Collections工具类1.作用:操作Collection和Map的工具类2.常用方法:reverse(List):反转List中元素的顺序shuffle(List):对List集合元素进行随机排序sort(List):根据元素的自然顺序对指定List集合元素升序排序sort(List,Comparator)
Wesley13 Wesley13
2年前
java.lang.Comparable
Comparable接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的_自然排序_,类的compareTo方法被称为它的_自然比较方法_。实现此接口的对象列表(和数组)可以通过Collections.sort(和Arrays.sort)进行自动排序。实现此接口的对象可以用作有序映射中的键或有序集合中的元素,无需指定比较器。
Wesley13 Wesley13
2年前
Java比较器
前言本篇文章主要介绍的是Java比较器的实现与测试。1.java.lang.Comparable排序接口定义:Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays
Stella981 Stella981
2年前
List自定义对象的排序,根据对象的某一列进行排序
  在工作中,经常需要对List对象集合进行排序操作,下面总结下搞个通用排序对象,原理是使用JAVA的    Comparator  接口实现排序  不多说直接上“干货”1、存在实体类:1@Data2@AllArgsConstructor3@NoArgsConstructo
Wesley13 Wesley13
2年前
Java List集合中元素比较大小
list排序方法一Comparator形式:1.比较数字List<Shoesall_shoesnewArrayList<Shoes();Collections.sort(all_shoes,newComparator<Shoes(){@Override/
Wesley13 Wesley13
2年前
Java Collection
总结1.优先队列的作用是能保证每次取出的元素都是队列中权值最小的(Java的优先队列每次取最小元素,C的优先队列每次取最大元素)。这里牵涉到了大小关系,元素大小的评判可以通过元素本身的自然顺序(_naturalordering_),也可以通过构造时传入的比较器(_Comparator_,类似于C的仿函数)。2.Java中Prio
Wesley13 Wesley13
2年前
Java Comparator接口学习笔记
Comparator是一个泛型函数式接口,T表示待比较对象的类型:@FunctionalInterfacepublicinterfaceComparator<T{}本文将主要介绍Comparator作为_函数式接口_的用法。理解下面的内容需要以下知识:函数式接口、Lambd