stream 根据首字母分组排序

//获取集合
List<String> nameList=saleModelService.findExistBrandsInTable();
Map<Object, List<String>> res = nameList.parallelStream().collect(Collectors.groupingBy(name->{return Character.toUpperCase(PinyinUtil.getFirstLetter(name.charAt(0)));},//根据首字母分组TreeMap::new,//有序map实现排序Collectors.toList()));

说明:

  • saleModelService.findExistBrandsInTable();是自定义类跟方法
  • PinyinUtil是使用hutool工具包下的
  • TreeMap::new使返回结果有序

后台结果:

{A=[奥迪, 安驰], B=[保时捷, 奔驰, 宝马, 本田, 比亚迪], F=[丰田], H=[哈弗], L=[兰博基尼], Y=[一汽红旗]}

前端JSON格式结果:

{"A": ["奥迪","安驰"],"B": ["保时捷","奔驰","宝马","本田","比亚迪"],"F": ["丰田"],"H": ["哈弗"],"L": ["兰博基尼"],"Y": ["一汽红旗"]}

java8 stream 首字母分组排序相关推荐

  1. 城市名称按首字母分组排序,并实现多音字处理

    一.需求 将城市列表(中文)按照首字母分组排序,以26个字母的顺序进行分组. 传统的解决方式使用如下pinyin4j来解决: <dependency><groupId>com. ...

  2. php实现通讯录按字母分组,iOS - 通讯录开发,名字按拼音首字母分组排序

    应项目需要,需添加一个自定义的通讯录,所以需要对联系人按名字的首字母进行排序.以下方法已经封装好,复制到项目中直接可以使用. 该方法是使用UILocalizedIndexedCollation来进行本 ...

  3. 通讯录c语言编程按字母分组,iOS - 通讯录开发,名字按拼音首字母分组排序

    应项目需要,需添加一个自定义的通讯录,所以需要对联系人按名字的首字母进行排序.以下方法已经封装好,复制到项目中直接可以使用. 该方法是使用UILocalizedIndexedCollation来进行本 ...

  4. PHP利用ICU扩展intl快速实现汉字转拼音以及按拼音首字母分组排序

    ICU(International Components for Unicode)里提供了transliterator(直译器), 可以很方便把其他语言(比如简体中文)转为拉丁文表示: http:// ...

  5. springboot返回按照首字母分组排序数据

    最终需要实现的效果图如下: 一.实现思路 1.将数据list 进行排序Collections,排序后是按照汉字字母排序的. 2.循环找出26个字母,以字母为key,以list中相同首字母的数据为值(集 ...

  6. php根据汉字首字母分组,利用PHP获取汉字首字母并且分组排序详解

    前言 本文主要给大家介绍了关于PHP获取汉字首字母并分组排序的相关内容,因经常我们在做项目的时候,会有按首字母排序的需求 比如: 美团的城市选择 http://www.meituan.com/inde ...

  7. Java实现根据拼音首字母的排序

    1.项目 手机APP端要对企业列表按企业名称首字母(如果企业名是英文的就按)进行分类排序,效果如下: 2.实现过程 2.1 首先引入项目的pinyin4j-2.5.0.jar包. 这个jar的下载地址 ...

  8. Js实现中文排序,并根据拼音首字母分组

    Js实现中文排序,并根据拼音首字母分组 const pySegSort=(arr) =>{if (!String.prototype.localeCompare) return nulllet ...

  9. python排序输出人名,005_015 Python 人名按字母排序,首字母分组

    代码如下: #encoding=utf-8 print '中国' #人名按字母排序,首字母分组 import itertools import itertools def groupnames(nam ...

最新文章

  1. 如何用敏捷消除项目风险?
  2. 从龙门镖局看自动化测试
  3. 2010中国杭州电子信息博览会通讯报道
  4. 使用Spring-Retry重试处理
  5. 程序员面试金典 - 面试题 10.11. 峰与谷(排序/不排序)
  6. matlab绘制8条曲线,科学网—【Matlab】如何用plotyy对应坐标绘制多条曲线 - 叶瑞杰的博文...
  7. 【美团分享】美团大脑及其在推荐系统中的应用.pdf(附下载链接)
  8. html+css做的丝带标签
  9. Oracle 在安装时,安装文件的目录不能有汉字。
  10. phpstorm 2017.1.3 最新版激活方法
  11. opengl 纹理贴到对应的位置_OpenGL常用命令备忘录(Part B)
  12. ubuntu上编译fortran_Ubuntu下安装Intel Fortran编译器(ifort)
  13. 一个鼠标键盘控制两台甚至多台主机的方法(软件亲测可用)
  14. html复选框变蓝,更改html复选框的背景颜色
  15. 服务器上的文件夹丢失怎么办,快速找回丢失文件夹选项的简单办法
  16. 盯盯拍罗勇:公司就是我最好的产品
  17. Debian11.5和Ubuntu22.04安装fcitx5中文输入法(五笔拼音)
  18. Linux 进程信号
  19. HDU2550 百步穿杨【打印图案】
  20. matlab之常用命令整理(持续更新中...)

热门文章

  1. DevOps流程模拟(一)——环境初始化
  2. Ardunio开发实例-热敏电阻温度传感器
  3. VMware 15中安装Windows10
  4. uni-app 输入框键盘把背景图顶上去
  5. 判断字符串是否为回文(C/C++)
  6. ITSS认证三级申报基本条件
  7. 为什么公司都让你对薪资保密?
  8. 高效酷炫 Win7窗口快捷切换的小技巧
  9. win10系统下 ABBYY SDK安装及iKey激活
  10. 国内风投是肿么了,都要靠各种大赛找项目了???