在许多应用中,可以看到全国的城市,并且都是按照汉字首字母A-Z排序,同时包含1、2、3、4声排序。如何做到?
1、使用第三方jar:pinyin4j,可以实现汉字转化为拼音,并且可以带声调,如:北京->bei3jing1
2、使用该包有问题:多音字城市如何选取,如,重庆的重既可以读chong2也可以读zhong4。对于带多音字的城市,还是手动修正吧
3、将城市中文,转化为拼音后,存入ArrayList中调用Collection.sort()即可满足基本要求,若对排序还要进行优化,重写compareTo.
4、城市列表可以自行查找城市API,获取json后,解析。有的城市列表json中自带拼音,但还是要自己转化,原因如下:
*一般从免费API获取的城市json中,拼音不带声调,无法做到1、2、3、4声排序