2021-07-29

Java对List集合中的对象的某个中文字段按照拼音首字母进行排序 徐师兄这次开门见山上代码!由于没时间整理直接controller层写了一个测试代码 @RequestMapping(value = "/get", method = RequestMethod.GET) public Object get(){ List<Map<String, Object>> list = testMapper.get(); List<String> nameList = list.stream( 阅读详情

中英文首字母排序

public static void main(String[] args) {
     //数组 中文首字母排序
        // Collator 类是用来执行区分语言环境的 String 比较的,这里选择使用CHINA(这里的CHINA是根据地域选择的)
        Comparator comparator = Collator.getInstance(Locale.CHINA);
        String[] arrStrings = {"乔峰", "郭靖", "杨过", "张无忌", "韦小宝"};
        // 使根据指定比较器产生的顺序对指定对象数组进行排序。
        Arrays.sort(arrStrings, comparator);


        //List<对象> 中文首字母排序
        List<SysUserMember> list = 获取这个list;
        // Collator 类是用来执行区分语言环境的 String 比较的,这里选择使用CHINA(这里的CHINA是根据地域选择的)
        Comparator 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 比较的,这里选择使用CHINA(这里的CHINA是根据地域选择的)
        Collator 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);
    }

  如果解决了你的问题帮忙关注下,谢谢

如何对List集合中的对象进行按某个属性排序 如何对List集合中的对象进行按某个属性排序问题描述普通的字符串集合的排序对象集合的排序如下所示实现对集合中的对象进行排序的方式1实现对集合中的对象进行排序的方式2 问题描述 在实际的工作开发中,我们经常会遇到需要对list集合中的某个对象的某个属性进行排序的操作,如果手工判断,步骤较为麻烦,所以在此处小编将会介绍集合中排序的方法。 普通的字符串集合的排序 排序方式以及排序的结果如下图所示: 排... 阅读详情

相关推荐

【python中级】 将形如 2021-07-29 06:06:06 日期时间转化为时间戳

【python中级】 将形如 2021-07-29 06:06:06 日期时间转化为时间戳1.背景2.方法3.代码 1.背景 对于形如"2021-07-29 06:06:06"日期时间,有时需要转化为时间戳。 比如:客户想通过时间段来请求web服务器获取数据, 那么你的web后端连接的数据库应该有时间戳这个字段, 以便服务器响应客户端请求某时间段的数据的时候, 通过用户的请求日期时间转化成时间戳,然后去查询数据库最后将数据响应给用户; 2.方法 利用strptime()函数将时间转换成时间数组; 利用mkt

jn10010537的博客 1850

java 中文排序。

关键字:java,排序,中文,pinyin4j,笔画,GBK,GB2312,拼音,代码点 1       问题提出 汉字排序不同于英文字母的排序,主要有两种排序方式:一种是按拼音首字母排序;一种是按笔画排序。大多数情况下是按拼音首字母排序。那汉字究竟怎样通过其拼音首字母排序呢?好在字符集帮我们解决了这个问题。 众所周知的包含汉字的字符集有gb2312和GBK,后者是前者的扩展。Gb2312在

laukaka的专栏 3263

实战指南:如何优雅解决SpringBoot3与Mybatis-Plus的版本兼容性问题

本文深入解析SpringBoot3与Mybatis-Plus的版本兼容性问题,提供实战解决方案。通过Maven依赖排除策略、Gradle配置方案及自动配置覆盖策略,有效解决包冲突和初始化顺序问题,确保项目平稳升级。适用于开发者快速解决SpringBoot3与Mybatis-Plus的集成难题。

weixin_28432777的博客 597

Collator实现中文排序

1.建一个中文排序的工具类 /** * 比较器工具类 */ public class ComparatorUtils { //当前环境设置成 CHINA 中文 private static Collator collator=Collator.getInstance(Locale.CHINA); public static int compare(String o1, String o2) { //调用内部的方法,进行比较。 return co

qq_39172525的博客 1402

YOLOv11多模态融合实战:基于YOLOFuse的RGB与红外线(IR)协同检测技术解析

本文深入解析了基于YOLOv11的YOLOFuse多模态融合技术,重点探讨了RGB与红外线(IR)协同检测的实现原理与实战应用。文章详细介绍了双流架构与数据级、特征级、决策级三种融合策略,并通过实战案例展示了其在低光照、复杂环境下显著提升检测精度与鲁棒性的优势,为全天候安防、自动驾驶等场景提供了有效的技术解决方案。

weixin_29041195的博客 650

时间序列学习(4):平稳性检验(单位根检验、ADF检验)

时间序列学习(4):平稳性检验(单位根检验、ADF检验)1、单位根检验2、ADF检验3、指数走势的检验4、对数收益率序列检验 相关图可以大致判断序列是否平稳。但是,这毕竟不是严格的。 这篇笔记来就谈一谈平稳性的检验。 到目前为止,我们有了以下的时间序列模型: 白噪声; 随机游走; AR模型; MA模型; ARMA模型。 我们知道白噪声、MA模型一定是平稳的(这里的平稳都是弱平稳);随机游走一定是不平稳的;ARMA模型取决于其AR部分。 所以唯一需要做平稳性检验的就是AR模型。 1、单位根检验 先来看一阶

lucialucia的博客 7万+

java按照中文首字母对集合List数据进行排序

java按照中文首字母对集合List数据进行排序

花若盛开蝴蝶自来,你若精彩天自安排。 1838

PCB 传输线教程(上):基于 Polar Si9000 与嘉立创工艺的传输线设计

理论线宽是W1,但在实际制作时,铜线顶部会有部分被刻蚀掉,表面被刻蚀后的宽度表示为W2,一般取经验值W2=W1-1,单位为 mil,Si9000 里面默认也是采用 W1,W2 相差 1 mil 的方式进行计算。表面阻抗结构就是简单的在一个平面上走信号线,以另外一个平面为地平面,信号线所在平面不进行铺铜(或铺铜间距大到可以忽略不计),这是最简单的一种结构,只需要知道介质层的厚度和介电常数、信号线厚度就可以进行阻抗计算。这个也是经验值,一般保持默认,或者可以填入 C1 相同的值(即忽略堆积)。

Surrea1的博客 1万+
上一篇: 2021-06-17
java617979191
博客等级 码龄9年 1粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值