首页 > 代码库 > Java中对姓名实现拼音排序

Java中对姓名实现拼音排序

 在这篇文章中,我记录了MySQL中如何实现对姓名按拼音排序,下面说明一下Java中如何实现这种排序。代码如下:

 1 package com.review.chapter6; 2  3 import java.text.Collator; 4 import java.util.Collections; 5 import java.util.Comparator; 6 import java.util.Enumeration; 7 import java.util.Locale; 8 import java.util.Vector; 9 10 import org.junit.Test;11 12 /**13  * 本例演示了按照姓名中的拼音顺序排序14  * @author zhouxy15  *16  */17 public class GetSortOfChineseName {18     @Test19     public void getSort(){20         Vector<String> v = new Vector<String>();21         String[] names = {"张三","张四","王三","王五","李二","李六"};22         for(int i = 0 ; i < names.length;i++){23             v.addElement(names[i]);24         }25         26         Comparator cmp = Collator.getInstance(Locale.CHINA); //获得所需语言环境的Collator27         Collections.sort(v, cmp);        //根据指定比较器产生的顺序对v进行排序28         29         Enumeration<String> e = v.elements();30         while(e.hasMoreElements()){31             System.out.println(e.nextElement());32         }33     }34 }

 代码的关键部分就是我注释的两行,首先产生一个比较器(comparator),然后调用Collections类中的sort方法即可。Locale.CHINA即指明所需环境为中文。

Java中对姓名实现拼音排序