Java技巧——实现Comparator接口来进行字符串逆向排序

// 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值