【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

 




本文转自gnuhpc博客园博客,原文链接:http://www.cnblogs.com/gnuhpc/archive/2012/12/17/2822349.html,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值