网站开发的设计思路,门户营销型网站搭建,公司产品宣传画册设计,如何做 试题类 网站文章目录一、Comparable二、Comparator示例代码一、Comparable
public interface Comparable
此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序#xff0c;类的 compareTo 方法被称为它的自然比较方法。
实现此接口的对象列表#xff08;和数组…
文章目录一、Comparable二、Comparator示例代码一、Comparable
public interface Comparable
此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序类的 compareTo 方法被称为它的自然比较方法。
实现此接口的对象列表和数组可以通过 Collections.sort和 Arrays.sort进行自动排序。实现此接口的对象可以用作有序映射中的键或有序集合中的元素无需指定比较器。
二、Comparator
public interface Comparator
强行对某个对象 collection 进行整体排序 的比较函数。可以将 Comparator 传递给 sort 方法如 Collections.sort 或 Arrays.sort从而允许在排序顺序上实现精确控制。还可以使用 Comparator 来控制某些数据结构如有序 set或有序映射的顺序或者为那些没有自然顺序的对象 collection 提供排序。
当且仅当对于一组元素 S 中的每个 e1 和 e2 而言c.compare(e1, e2)0 与 e1.equals(e2) 具有相等的布尔值时Comparator c 强行对 S 进行的排序才叫做与 equals 一致 的排序。
示例代码
package priv.lwx.javaprac.functionalinterface;import java.util.Arrays;
import java.util.Comparator;/*** ClassName Demo03FunctionalInterface* Description TODO* Author liaowenxiong* Version 1.0* date 2021/9/7 下午3:26*/
public class Demo03FunctionalInterface {public static void main(String[] args) {// 获取比较器对象ComparatorString c getStringComparator();String[] strs new String[]{ddff, de, ert};// 根据传入的比较器对数组进行排序Arrays.sort(strs, c);// 把排序号的字符串数组打印输出System.out.println(Arrays.toString(strs));}public static ComparatorString getStringComparator() {// 使用匿名内部类来实现return new ComparatorString() {Overridepublic int compare(String o1, String o2) {// 如果返回0表示相等// 后面减去前面的表示降序前面减去后面的表示升序return o2.length() - o1.length();}};}
}