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