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):比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。