记录一下,实现汉字按照首字母分组排序,以下图:app
1、实现思路:测试
1.将数据list 进行排序Collections,排序后是按照汉字字母排序的orm
二、循环找出26个字母,以字母为key,以list中相同首字母的数据为值(集合)blog
2、代码实现排序
这里须要用到pinyin4j-2.5.0.jar这个汉字转拼音的jar包get
一、这个是汉字转拼音的方法io
/**
* 获取汉字串拼音,英文字符不变
* @param chinese 汉字串
* @return 汉语拼音
*/
public static String getFullSpell(String chinese) {
StringBuffer pybf = new StringBuffer();
char[] arr = chinese.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (int i = 0; i < arr.length; i++) {
if (arr[i] > 128) {
try {
pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
} else {
pybf.append(arr[i]);
}
}
return pybf.toString();
}class
二、关键实现代码循环
三、测试调用方法
控制台输出:
{ "A": ["阿拉伯"], "B": [], "C": [], "D": [], "E": [], "F": [], "G": [], "H": [], "I": [], "J": [], "K": [], "L": ["李四", "李五"], "M": [], "N": [], "O": [], "P": [], "Q": [], "R": [], "S": [], "T": [], "U": [], "V": [], "W": [], "X": [], "Y": [], "Z": ["张三"] }