📅  最后修改于: 2023-12-03 15:16:33.812000             🧑  作者: Mango
在Java中,比较器是一种用于比较两个对象的接口。在使用排序算法或者需要比较对象时,我们可以使用比较器。Java中提供了一个Comparator接口来实现比较器。Comparator接口包含两种方法:compare()和equals()。其中,compare()方法在排序时用到。
在Comparator接口中还有一个reversed()方法,用于返回一个与原始比较器排序相反的比较器。reversed()方法返回的比较器与原始比较器正好相反。当我们使用Collections.sort()方法或者Arrays.sort()方法进行排序时,可以使用reversed()方法返回一个新的比较器,来实现倒序排序。
public static <T> Comparator<T> reversed(Comparator<T> cmp)
reversed()方法是一个静态方法,它可以从Comparator接口中获得。reversed()方法的参数是一个Comparator类型的比较器cmp,用于制定要反转的比较器。
下面是一个使用reversed()方法的示例。在这个示例中,我们将对一个String类型的List进行排序。我们首先使用默认的Comparator对List进行排序,然后使用reversed()方法返回一个新的比较器,反转原始比较器,用于对List进行倒序排序。
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ReverseComparatorExample {
public static void main(String[] args) {
// Create a list of string
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
names.add("David");
names.add("Eva");
// Sort the list using default Comparator
Collections.sort(names);
System.out.println("Sorted List: " + names);
// Create a reversed Comparator
Comparator<String> reverse = Collections.reverseOrder();
// Sort the list using reversed Comparator
Collections.sort(names, reverse);
System.out.println("Reversed Sorted List: " + names);
}
}
在上面的示例中,我们首先使用Collections.sort()方法使用默认的Comparator对List进行排序。然后,我们使用Collections.reverseOrder()方法返回一个新的比较器,这个比较器用于对字符串进行倒序排序。最后,我们使用Collections.sort()方法,并传递这个比较器来对List进行倒序排序。
上述程序可以使用markdown格式进行展示,代码片段如下:
## reversed()方法的示例
下面是一个使用reversed()方法的示例。在这个示例中,我们将对一个String类型的List进行排序。我们首先使用默认的Comparator对List进行排序,然后使用reversed()方法返回一个新的比较器,反转原始比较器,用于对List进行倒序排序。
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ReverseComparatorExample {
public static void main(String[] args) {
// Create a list of string
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
names.add("David");
names.add("Eva");
// Sort the list using default Comparator
Collections.sort(names);
System.out.println("Sorted List: " + names);
// Create a reversed Comparator
Comparator<String> reverse = Collections.reverseOrder();
// Sort the list using reversed Comparator
Collections.sort(names, reverse);
System.out.println("Reversed Sorted List: " + names);
}
}