当前位置: 首页 > news >正文

stream对list数据进行多字段去重

方法一:

//根据sj和name去重
List<NursingHandover> testList = list.stream().collect(
                Collectors.collectingAndThen(Collectors.toCollection(
                        () -> new TreeSet<>(Comparator.comparing(
                                o -> o.getj() + ";" + o.getName() + ";")
                        )), ArrayList::new));

方法二:

// 通过Map生成键值对,Key去重
Map<Long, String> newMap = list.stream().collect(Collectors
        .toMap(NursingHandover::getSj, NursingHandover::getName));

方式三:

// 通过多个字段分组,并生成Map:key(字段组合),value(对象列表)
Map<Object, List<NursingHandover>> costLmmMap = list.parallelStream()
        .collect(Collectors.groupingBy(item -> (item.getSj() +
        "_" + item.getName()), Collectors.toList()));

相关文章:

  • 问答区混赏金的集合贴
  • 华为杯数学建模比赛经验分享
  • $nextTick解决echarts宽度固定为100%的问题
  • Armv9 Cortex-A720的L2 memory system 和 L2 Cache
  • Leetcode 297. 二叉树的序列化与反序列化
  • 【LeetCode】滑动窗口妙解无重复字符的最长子串
  • 华为智能高校出口安全解决方案(2)
  • Ubuntu Qt 5.15.2 支持 aarch64
  • 【李沐深度学习笔记】损失函数
  • C++与数据结构面经(重中之重)
  • 83、SpringBoot --- 下载和安装 MSYS2、 Redis
  • 【ARMv8 SIMD和浮点指令编程】NEON 加载指令——如何将数据从内存搬到寄存器(LDxLDxR)?
  • 数据响应式原理
  • Java on Azure Tooling 8月更新|以应用程序为中心的视图支持及 Azure 应用服务部署状态改进
  • Redis与Mybatis
  • 批量删除wordpress文章修订版本/自动草稿残留数据(3种方法)及四种方法禁用WordPress文章历史修订/自动保存/自动草稿功能
  • [JAVAee]MyBatis
  • MySQL数据类型与表单创建
  • HTTP协议
  • Docker(三)、Dockerfile探究
  • 海南热带雨林国家公园核心保护区一水电站设施将拆除,曾被中央环保督察通报
  • 云南:近两千亩拍得土地因规划变更不得开发,政府要求转型、企业无力为继
  • 亚洲大厦和一个被音乐剧改变的街区
  • 生于1984年,郭宝任湖北黄石市副市长
  • 玄学的尽头是出局!银河战舰三期,沉了
  • 沪指尾盘急涨翻红:大消费、大金融走强,多只银行股创历史新高