java实现中文汉字的首字母排序
java中可以排序的工具类和接口共有五个SortedMap 、SortedSet、TreeMap 、TreeSet和Collections,Collections中需要显式调用sort()方法。
???? 事例如下:
?
????? //结果的排序为:安庆? 安阳? 北方? 北京? 广州? 南京? 汕头? 武汉? 阳江? 中山
??
package myUtil;import java.util.Comparator;import java.text.Collator;import java.text.CollationKey;public class myComparator implements Comparator { //关于Collator。 private Collator collator = Collator.getInstance();//点击查看中文api详解 public myComparator() { } /** * compare * 实现排序。 * @param o1 Object * @param o2 Object * @return int */ public int compare(Object o1, Object o2) { //把字符串转换为一系列比特,它们可以以比特形式与 CollationKeys 相比较 CollationKey key1=collator.getCollationKey(o1.toString());//要想不区分大小写进行比较用o1.toString().toLowerCase() CollationKey key2=collator.getCollationKey(o2.toString()); return key1.compareTo(key2);//返回的分别为1,0,-1 分别代表大于,等于,小于。要想按照字母降序排序的话 加个“-”号 }}??