Java实现List中某个对象属性中的字符串参数首字母进行排序
生活随笔
收集整理的這篇文章主要介紹了
Java实现List中某个对象属性中的字符串参数首字母进行排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
public static void main(String[] args) {//數組 中文首字母排序// Collator 類是用來執行區分語言環境的 String 比較的,這里選擇使用CHINAComparator comparator = Collator.getInstance(Locale.CHINA);String[] arrStrings = {"喬峰", "郭靖", "楊過", "張無忌", "韋小寶"};// 使根據指定比較器產生的順序對指定對象數組進行排序。Arrays.sort(arrStrings, comparator);//List<對象> 中文首字母排序List<SysUserMember> list = 獲取這個list;// Collator 類是用來執行區分語言環境的 String 比較的,這里選擇使用CHINAComparator comparator = Collator.getInstance(Locale.CHINA);Collections.sort(list, (o1, o2) -> comparator.compare(o1.getMemberUnitName(), o2.getMemberUnitName()));list.stream().forEach(System.out::println);//List<String> 中文首字母排序List<String> list = new ArrayList();list.add("李");list.add("張");list.add("胡");// Collator 類是用來執行區分語言環境的 String 比較的,這里選擇使用CHINACollator comparator = Collator.getInstance(Locale.CHINESE);Collections.sort(list, (o1, o2) -> comparator.compare(o1, o2));//List<對象或者String> 字符串首個字符字母排序需要導入<!-- PinyinHelper漢字拼音轉換 start--><dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.1</version></dependency><!-- PinyinHelper漢字拼音轉換 start-->List<Employee> employees = Arrays.asList(new Employee("陳", 18, 1),new Employee("only服飾", 37, 2),new Employee("一丟丟", 50, 3),new Employee("gAP集團", 8, 5));employees.sort((v1, v2) -> {char[] chars1 = v1.getName().toCharArray();char[] chars2 = v2.getName().toCharArray();String c1 = Character.toString(chars1[0]);String c2 = Character.toString(chars2[0]);if (Character.toString(chars1[0]).matches("[\\u4E00-\\u9FA5]+")) {c1 = PinyinHelper.toHanyuPinyinStringArray(chars1[0])[0];}if (Character.toString(chars2[0]).matches("[\\u4E00-\\u9FA5]+")) {c2 = PinyinHelper.toHanyuPinyinStringArray(chars2[0])[0];}return c1.compareTo(c2);});employees.stream().forEach(System.out::println);}如果解決了你的問題幫忙關注下,謝謝
總結
以上是生活随笔為你收集整理的Java实现List中某个对象属性中的字符串参数首字母进行排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL 实现一个字段赋值给另一个字段
- 下一篇: java8 LocalDate 日期比较