【Java学习笔记】实现Comparator接口来进行字符串逆向排序
作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/
// Create a Comparator that returns the outcome
// of a reverse string comparison.
class RevStrComp implements Comparator<String> {
// Implement the compare() method so that it
// reverses the order of the string comparison.
public int compare(String strA, String strB) {// Compare strB to strA, rather than strA to strB.
return strB.compareTo(strA);
}
}
// Sort an array of strings in reverse order.
import java.util.*;
// Create a Comparator that returns the outcome
// of a reverse string comparison.
class RevStrComp implements Comparator<String> {
// Implement the compare() method so that it
// reverses the order of the string comparison.
public int compare(String strA, String strB) {
// Compare strB to strA, rather than strA to strB.
return strB.compareTo(strA);
}
}
// Demonstrate the reverse string comparator.
class RevStrSort {
public static void main(String args[]) {
// Create a sample array of strings.
String strs[] = { "dog", "horse", "zebra", "cow", "cat" };
// Show the initial order.
System.out.print("Initial order: ");
for(String s : strs)
System.out.print(s + " ");
System.out.println("/n");
// Sort the array in reverse order.
// Begin by creating a reverse string comparator.
RevStrComp rsc = new RevStrComp();
// Now, sort the strings using the reverse comparator.
Arrays.sort(strs, rsc);
// Show the reverse sorted order.
System.out.print("Sorted in reverse order: ");
for(String s : strs)
System.out.print(s + " ");
System.out.println("/n");
// For comparison, sort the strings in natural order.
Arrays.sort(strs);
// Show the natural sorted order.
System.out.print("Sorted in natural order: ");
for(String s : strs)
System.out.print(s + " ");
System.out.println("/n");
}
}
输出为:
Initial order: dog horse zebra cow cat
Sorted in reverse order: zebra horse dog cow cat
Sorted in natural order: cat cow dog horse zebra