java实现中文汉字按首字母排序

要实现汉字按首字母排序,主要是设置语言环境,如下语句设置语言环境:


这里用到了Collator类,此类实现了Comparator接口,用他的getInstance就可以用指定的语言环境来构造一个Collator对象:

java实现中文汉字按首字母排序_第1张图片

然后用如下语句创建Comparator:

Comparator com=Collator.getInstance(java.util.Locale.CHINA); 
  
要注意的是Comparator里面的泛型类型一定要是Object类型,因为Collator类实现的Comparator接口里面传入的对象是Object


完整的实现代码如下:

import java.text.Collator;  
import java.util.*;  
import java.util.Comparator;  
public class cpm {  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
        Comparator com=Collator.getInstance(java.util.Locale.CHINA);  
        String[] newArray={"中山","汕头","广州","安庆","阳江","南京","武汉","北京","安阳","北方"};  
        List list = Arrays.asList(newArray);
        Collections.sort(list, com); 
        for(String i:list){  
            System.out.print(i+"  ");  
        }
    }  
} 
  
输出结果是:

安庆  安阳  北方  北京  广州  南京  汕头  武汉  阳江  中山 


你可能感兴趣的:(类,String,java,j2se,java,j2se,类,string)