Java的List集合根据实体类的属性去重数据

2023-10-27

一. Stream流去重

// 创建一个包含DeptEntity对象的List,并向其中添加若干元素
List<DeptEntity> deptEntityList= new ArrayList<>();
deptEntityList.add(new DeptEntity(1, '部门1'));
deptEntityList.add(new DeptEntity(1, '部门1'));
deptEntityList.add(new DeptEntity(2, '部门2'));

// 使用java8的stream流进行元素去重(根据DeptEntity中的id进行元素去重)
ArrayList<DeptEntity> disList = deptEntityList.stream().collect(
        Collectors.collectingAndThen(
	        Collectors.toCollection(
	        	() -> new TreeSet<>(Comparator.comparing(DeptEntity::getId))
	        )
	        , ArrayList::new
        )
);

二. TreeSet去重

List<DeptEntity> deptEntityList= new ArrayList<>();
deptEntityList.add(new DeptEntity(1, "部门1"));
deptEntityList.add(new DeptEntity(1, "部门1"));
deptEntityList.add(new DeptEntity(2, "部门2"));


// 创建一个TreeSet集合,指定根据实体类的id属性去重
TreeSet<Dep
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java的List集合根据实体类的属性去重数据 的相关文章

随机推荐

  • VS2013 curl源码编译(二)之zlib 1.2.11编译

    已编译好的资源 https download csdn net download key xiaodj 10825531 转载处 https blog csdn net jaggerjack330 article details 82721
  • Python Basics 笔记

    9 14 问题 gt gt gt s Python is Fun gt gt gt s 1 5 从1到第四 ytho gt gt gt s 5 从0到第四 Pytho gt gt gt s 1 从1到最后 ython is Fun gt g
  • 《计算机视觉中的多视图几何》笔记(0)

    为什么要做这个专栏 计算机视觉的一大研究目标是使计算机具有通过2D图像认知3D环境信息的能力 近年来 随着SLAM SfM MVS NeRF等技术的爆火和相关产业的蓬勃发展 越来越多的人加入到三维重建的领域当中 然而 如何入门3D视觉是一件
  • Java中关于char类型的变量为什么可以赋值为整型数字

    文章出处 链接 1 JAVA中 char占2字节 16位 可在存放汉字 2 char赋值 char a a 任意单个字符 加单引号 char a 中 任意单个中文字 加单引号 char a 111 整数 0 65535 十进制 八进制 十六
  • 5. Linux-riscv内存管理21-24问

    文章目录 2 5 在中断上下文中能不能调用包含GFP KERNEL分配掩码的内存分配函数 2 5 1 zone水位 2 5 2 GFP ATOMIC 2 5 3 在使用GPF KERNEL情况下 什么时候才睡眠 2 5 在中断上下文中能不能
  • 教你如何用两个栈实现一个队列

    一 实现思路 1 首先准备两个栈 栈A与栈B 2 栈A专门用来完成入队列操作 栈B专门用来出队列与取队首元素操作 3 每次入队列操作时 首先得判断B栈是否为空 不空则将B栈元素全都依次入A栈 最后继续入新元素 即将要入栈元素添加到栈A 4
  • c语言选择性编译

    在C语言中 可以使用条件编译指令来选择性地编译代码 条件编译是通过预处理器指令来控制代码的编译过程 根据指定的条件来决定是否编译其中的代码 条件编译指令有中预处理器指令 如果某个宏通过 define定义过了 则编译 ifdef内部的代码段
  • Android备忘录模式实现及源代码解析

    Android备忘录模式实现及源代码解析 备忘录模式是一种行为设计模式 它允许在不破坏封装性的前提下捕获对象的内部状态 并在需要时恢复 在Android开发中 备忘录模式可以用于保存和恢复应用程序的状态或数据 本文将介绍如何在Android
  • Docker 中 mysql问题解决

    1 Docker 中mysql问题 1 1 docker 中 安装mysql之后表明大小写不敏感 参考文章 mysql表名大小不敏感 1 1 1 进入mysql docker exec it dokcer中mysql容器名称 bash 下面
  • idea连接mysql设置时区

    当连接mysql时出现以下问题 那么到Advanced中设置时区为 Asia Shanghai 连接成功
  • 图像识别(四)

    大家好啊 我是董董灿 导读 图像识别 一 从像素说起 图像识别 二 图像的色彩空间 图像识别 三 初识卷积 上一篇文章 初识卷积 聊到了卷积这一算法 通俗点讲 卷积就是模仿的人眼识图的过程 以 感受野 的视角去扫描图片 从而获取不同区域的图
  • ThinkCMF后台页面模板demo

    index列表页面模板
  • 高效经验分享:怎么制作企业微信小程序

    随着移动互联网的发展 微信已经成为了人们生活中必不可少的社交媒体平台 同时也逐渐成为了企业推广的重要渠道之一 企业微信小程序是在微信平台上的一种轻量级应用程序 不仅可以方便用户在微信中进行业务操作 还可以提供更加精细化的服务和用户体验 那么
  • 过滤器配置问题(/和/*的区别)

    表单form jsp
  • 语义分割研究现状

    以语义分割热门的数据集Cityscapes的精度作为参考 比较当前语义分割网络效果 可以通过ICNet中的这张图来说明目前大多数方法的精度以及速度 目前MIOU超过80的有PSPNet ResNet38 PSPNet DUC 以及DANet
  • E: Couldn't create temporary file to work with /var/lib/apt/lists/ports.ubuntu.com_ubuntu-ports_dist

    E Couldn t create temporary file to work with var lib apt lists ports ubuntu com ubuntu ports dists trusty Release mkste
  • 解决Echarts与R的可视化中,横坐标显示不全的问题

    解决Echarts与R的可视化中 横坐标显示不全的问题 在做可视化的过程中 最烦的就是图做出来了 坐标显示不全的问题 接下来介绍两个解决问题的方法 在做可视化的过程中 最烦的就是图做出来了 坐标显示不全的问题 接下来介绍两个解决问题的方法
  • 数据可视化清新版【chart.js】学习笔记9.0—气泡图(Bubble Chart)

    Bubble Chart 气泡图 气泡图用于同时显示三维数据 气泡的位置由前两个维度以及相应的水平和垂直轴线确定 第三个维度由单个气泡的大小来表示 官方文档 https www chartjs org docs latest charts
  • PHP也能实现区块链?

    引言 什么是区块链 官方的解释是 区块链是一个分布式记账系统 是藉用密码学串接并保护其内容的串连交易记录 又称区块 每一个区块包含了前一个区块的加密散列 对应的时间戳记以及交易数据 通常用默克尔树算法计算的散列值表示 这样的设计使得区块内容
  • Java的List集合根据实体类的属性去重数据

    一 Stream流去重 创建一个包含DeptEntity对象的List 并向其中添加若干元素 List