2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 数字排在最前 英文字母其次 汉字则按照拼音进行排序 获取中文首字母

数字排在最前 英文字母其次 汉字则按照拼音进行排序 获取中文首字母

时间:2019-06-24 23:21:41

相关推荐

数字排在最前 英文字母其次 汉字则按照拼音进行排序 获取中文首字母

中文名称,按照A-Z方式进行排序。

import cn.hutool.extra.pinyin.PinyinUtil;import com.alibaba.nacos.client.utils.StringUtils;import mons.collections.CollectionUtils;import java.text.Collator;import java.util.Collections;import parator;import java.util.List;public class TextUtils {/*** 数字排在最前,英文字母其次,汉字则按照拼音进行排序*/public static List<String> compareTo(List<String> stringList) {if (CollectionUtils.isEmpty(stringList)) {return Collections.emptyList();}Comparator<String> comparator = (text, texts) -> {Collator collator = Collator.getInstance(java.util.Locale.CHINESE);return collator.getCollationKey(text).compareTo(collator.getCollationKey(texts));};Collections.sort(stringList, comparator);return stringList;}/*** 获取中文首字母* @param str* @return*/public static String getInitials(String str){if(StringUtils.isEmpty(str)){return "#";}String letter = PinyinUtil.getFirstLetter(str.substring(0, 1),"");return letter.toUpperCase();}// public static void main(String[] args) {// List<String> list = new ArrayList<>();// list.add("360");// list.add("Access");// list.add("百度");// list.add("民生");// System.out.println(JSON.toJSONString(compareTo(list)));// System.out.println(getInitials("民生"));// }}

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.10</version></dependency><!--pinying4j--><dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.1</version></dependency>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。