三句话 让同事看不懂代码 stream流groupingby分组后排序重构value

本文探讨了一种使用Java Stream流和Lambda表达式来优雅地处理数据分组和自定义排序的方法。通过示例代码,展示了如何将具有相同键的值集合起来,并按照预定义的顺序对内部列表进行排序。同时,讨论了使用HashMap和LinkedHashMap在保持顺序性方面的差异,以及如何通过先排序后分组来达到目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三句话 让同事看不懂代码 stream流groupingby分组后排序重构value

git仓库直达

如何让同事看不懂你写的代码 然后觉得你非常牛逼 这里用到了stream()与Lambda 需要有点基础,没基础你炫个🔨

一. 需求

又来一个新需求 我们需要将相同key的value集合起来(对象list< Obiect >或者list < string >),并按照指定字符串进行内部排序 例如aa > bb > cc (指定字符) 其他的排在后边

// 又来一个新需求 我们需要将相同key的value集合起来(对象list<Obiect>或者list<string>),并按照指定字符串进行内部排序 例如aa > bb > cc (指定字符) 其他的排在后边
        List<String> specialString = Lists.newArrayList( "name=cc","sex=dd","name=bb","name=aa", "sex=aa","name=ww");

PO

@Data
    @Builder
    static class ObiectMap{
   
   
        private String key;
        private String value;
    }

二. 上操作

在这里插入图片描述
感觉普通写的话,也是先转换成对象,然后遍历分组,然后排序 注意是按照特定顺序排序,不是字符串排序~,简单是简单,不过代码会拉的很长,并且同事极易看懂后对我们说一句 就这?
在这里插入图片描述
这时候,我们的自尊心趋势我们一定要装个大B!!

System.out.println("map6: get specialString");
        // 又来一个新需求 我们需要将相同key的value集合起来(对象list<Obiect>或者list<string>),并按照指定字符串进行内部排序 例如aa > bb > cc (指定字符) 其他的排在后边
        List<String> specialString = Lists.newArrayList( "name=cc","sex=dd","name=bb","name=aa", "sex=aa","name=ww");

        Map<String,Integer> keyMap=new HashMap(){
   
   {
   
   
           put("aa",1);
           put("bb",2);
           put("cc",3);
        
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值