转换成根据省份字母排序

/**转换成根据省份字母排序
     * @anth  zhangHongLi
     * @param list
     * @return   List<SelectVO>
     */
    public List<SelectVO> sortProvineName(List<SelectVO> list){
        List<SelectVO>  transArrayList=new ArrayList<SelectVO>();
        Map<String ,String> transMap=new  HashMap<String ,String>();
        String[] newArPName =new String[list.size()];
        for(int i=0,j=list.size();i<j;i++){
            newArPName[i]=tranPinYin(list.get(i).getName());
     if("ZHONGQINGSHI".equals(newArPName[i])){
     newArPName[i]="CHONGQINGSHI";}
         transMap.put(newArPName[i],list.get(i).getName());
        }
        Arrays.sort(newArPName,String.CASE_INSENSITIVE_ORDER);
        for(int i=0;i<newArPName.length;i++) {
                newArPName[i]=transMap.get(newArPName[i]);
        }
        List<String> newProvineNameList = Arrays.asList(newArPName);
        for(int i=0,j=newProvineNameList.size();i<j;i++){
            SelectVO selectVO=new SelectVO();
            for (SelectVO vo : list) {
                if(newProvineNameList.get(i).equals(vo.getName())){
                    selectVO=vo;
                    transArrayList.add(selectVO);
                }
            }
        }
        return transArrayList;
    }
    /**
     * 将汉字转化成拼音
     *@auth zhanghongli
     * @param chinese 汉字串
     * @return 汉语拼音
     */
    public  String tranPinYin(String chinese) {
        StringBuffer pyBuff = new StringBuffer();
        char[] arrChar = chinese.toCharArray();
        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
        defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
        for (int i = 0; i < arrChar.length; i++) {
                try {
                pyBuff.append((arrChar[i] > 4)?PinyinHelper.toHanyuPinyinStringArray(arrChar[i], defaultFormat)[0]:arrChar[i]);
            } catch (BadHanyuPinyinOutputFormatCombination badHanyuPinyinOutputFormatCombination) {
                badHanyuPinyinOutputFormatCombination.printStackTrace();
            }
        }
        return pyBuff.toString();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值