java 中文字符串数组按照音序排列

复制代码 代码如下:

  public class SortComparator implements Comparator{

  public int compare(Object o1,Object o2) {

  try{

  byte[] buf1 = ((String) o1).getBytes("unicode");

  byte[] buf2 = ((String) o2).getBytes("unicode");

  int size = Math.min(buf1.length, buf2.length);

  for (int i = 0; i < size; i++) {

  if (buf1[i] < buf2[i])

  return -1;

  else if (buf1[i] > buf2[i])

  return 1;

  }

  return buf1.length - buf2.length;

  }catch(UnsupportedEncodingException ex) {

  return 0;

  }

  }

  }

  调用:

  

复制代码 代码如下:

  String[] str = {"北京","中国","亚运会"};

  Arrays.sort(str,new SortComparator());

  for(int len=0;len<str.length;len++){

  System.out.println(str[len]);

  }