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); 
            }
      }
}


你可能感兴趣的:(java,list,String,null,Class,import)