java list 中文 排序

TAG: java list 中文 排序

package cc.util.List.cnsort;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.text.Collator; 
import java.util.Comparator; 
import java.util.Locale;
/**
 *@author cc 
 * 用来测试List的中文排序问题
 * 注意该程序为非线程安全。
 **/
public class Test {
        private static List<String> al=new ArrayList<String>();
        private static String[] str=new String[17];
        /**
         * @param args
         */
        public static void main(String[] args) {
                getlist();
                al=comparecn(al);
                System.out.println("开始排序");
                for (int i = 0; i < al.size(); i++) {
                        System.out.println(al.get(i));
                }
        }
       private static List<String> getlist(){
              str[1]="派发";
              str[2]="定制";
              str[3]="综合";
              str[4]="用户 -->客户 ";
              str[5]="考核";
              str[6]="LBBQ";
              str[7]="用户 -->当前";
              str[8]="用户 -->日志";
              str[9]="上网";
              str[10]="用户 ";
              str[11]="用户 -->用户 ";
              str[12]="补丁";
              str[13]="流量";
              str[14]="用户 -->角色 ";
              str[15]="定制";
              str[16]="定计";
              str[0]="访心";
              for (int i = 0; i < str.length; i++) {
                     al.add(str[i]);
              }
              return al;
       }
       private static List<String> comparecn(List<String> al2){
              Comparator<String> cmr=new StrComparator();
              Collections.sort(al2,cmr);
              cmr=null;
              return al2;
       }
      /**
      *重写list中文排序方法
      **/
      private static class StrComparator implements Comparator<String> {
             public int compare(String o1, String o2) {   
             return Collator.getInstance(Locale.CHINESE).compare(o1, o2); 
            }
      }
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值