标签:
原始需求:是这样子,我这边有一个功能,就是从别处读取到的省份列表,把它填充在下拉列表里面,需求那边需要按照汉子的拼音来排序,
出现问题:出现的“重庆市”始终是按照ZHONG的拼音来排序,而不是按照CHONG的拼音来排序,在网上没有找到比较好的解决方案,
备 注:原来的数据排序是直辖市排在最前面,剩下省份随意排序
临时方案
List<String> list = new ArrayList<String>(); list.add("北京市"); list.add("天津市"); list.add("上海市"); list.add("重庆市"); list.add("河北省"); list.add("山西省"); list.add("辽宁省"); list.add("吉林省"); list.add("黑龙江省"); list.add("江苏省"); list.add("浙江省"); list.add("安徽省"); list.add("福建省"); list.add("江西省"); list.add("山东省"); list.add("河南省"); list.add("湖北省"); list.add("湖南省"); list.add("广东省"); list.add("海南省"); list.add("四川省"); list.add("贵州省"); list.add("云南省"); list.add("陕西省"); list.add("甘肃省"); list.add("青海省"); list.add("台湾省"); list.add("内蒙古自治区"); list.add("广西壮族自治区"); list.add("西藏自治区"); list.add("宁夏回族自治区"); list.add("新疆维吾尔自治区"); list.add("香港特别行政区"); list.add("澳门特别行政区"); List<String> listNew = new ArrayList<String>(); for (String stringOld : list) { if(stringOld.indexOf("重") >= 0){ stringOld = stringOld.replaceAll("重", "冲"); } listNew.add(stringOld); } Collections.sort(listNew, new ToSort()); for (String stringNew : listNew) { if(stringNew.indexOf("冲") >= 0){ stringNew = stringNew.replaceAll("冲", "重"); } System.out.println(stringNew); }
我这里采取的替换方式来处理这个重庆的排序
标签:
原文地址:http://www.cnblogs.com/yuchuan/p/province.html