java 中文数字排序方法

直接上代码:

首先做个比较器

public Comparator<File> compareByName;

 然后就是比较的主要方法

compareByName = new Comparator<File>() {

   public int compare(String arg0, String arg1) {
    arg1=arg1.replaceAll("-","");//过滤掉文件里的这个符号
    arg0=arg0.replaceAll("-","");

    arg1 = arg1.replaceAll("一", "11");//这个是让中文数字变成可比较的值

    arg0 = arg0.replaceAll("一", "11"));

    arg0 = arg0.replaceAll("二", "22");
    arg0 = arg0.replaceAll("三", "33");
    arg0 = arg0.replaceAll("四", "44");
    arg0 = arg0.replaceAll("五", "55");
    arg0 = arg0.replaceAll("六", "66");
    arg0 = arg0.replaceAll("七", "77");
    arg0 = arg0.replaceAll("八", "88");
    arg0 = arg0.replaceAll("九", "99");

    arg1 = arg1.replace("一", "11");

    arg1 = arg1.replaceAll("二", "22");
    arg1 = arg1.replaceAll("三", "33");
    arg1 = arg1.replaceAll("四", "44");
    arg1 = arg1.replaceAll("五", "55");
    arg1 = arg1.replaceAll("六", "66");
    arg1 = arg1.replaceAll("七", "77");
    arg1 = arg1.replaceAll("八", "88");
    arg1 = arg1.replaceAll("九", "99");

    if (arg0.compareTo(arg1) > 0) {

     return 1;
    } else if (arg0.compareTo(arg1) < 0) {

     return -1;
    } else {

     return 0;
    }
   }

   public int compare(File arg0, File arg1) {

//将FILE文件 变成STRING再去比较
    return compare(arg0.getName(), arg1.getName());
    // TODO Auto-generated method stub

   }

  };

 

最后 Collections.sort(文件集合LIST, compareByName);

LIST就是已经排序序的了

转载于:https://www.cnblogs.com/mkorion/archive/2012/07/25/2608360.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值