1.测试代码示例

import com.alibaba.fastjson.JSON;

import lombok.Data;

import lombok.extern.slf4j.Slf4j;

import java.util.ArrayList;

import java.util.Comparator;

import java.util.List;

import java.util.TreeSet;

import java.util.stream.Collectors;

@Slf4j

public class test {

public static void main(String[] args) {

//1.构造测试数据

List oldStudents = new ArrayList<>();

Student student1 = new test().new Student();

student1.setName("小王");

student1.setOnlyKey("123");

oldStudents.add(student1);

Student student2 = new test().new Student();

student2.setName("小王");

student2.setOnlyKey("123");

oldStudents.add(student2);

Student student3 = new test().new Student();

student3.setName("小孙");

student3.setOnlyKey("123444");

oldStudents.add(student3);

log.info("去重之前的数据:{}", JSON.toJSONString(oldStudents));

//java8 去重

List newStudents = oldStudents.stream().collect(Collectors.collectingAndThen(

Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Student::getOnlyKey))), ArrayList::new)

);

log.info("去重之后的数据:{}",JSON.toJSONString(newStudents));

}

@Data

class Student {

private String name;

private String onlyKey;

}

}

2.测试结果

image.png

3.适用场景

像从数据库查询数据 selectOne but select many 这种问题,代码中依此可以进行规避处理OvO

java实体类 判断 字段_java8 根据实体类中的某个字段对实体类去重相关推荐

  1. oracle 取字段长度为5,oracle9i中varchar2(5)字段长度不足5前面补0?

    oracle9i中varchar2(5)字段长度不足5前面补0? mip版  关注:201  答案:2  悬赏:20 解决时间 2021-01-19 11:34 已解决 2021-01-18 23:5 ...

  2. java 实体类返回大写_解决springboot bean中大写的字段返回变成小写的问题

    例如我的bean中有以下4个字段 private String code; private String _TOKENUUMS; private String TGC; private String ...

  3. Java stream判断两个相同对象集合中的部分字段的相同或者不同并作出处理,重写equals和hash方法

    首先需要重写equals方法和hash方法 @Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == ...

  4. stream 提取某字段_java8从list集合中取出某一属性的值的集合案例

    List orderNoList=list.stream().map(Order::getOrderNo).collect(Collectors.toList()); https://blog.csd ...

  5. java把date改成时间戳_spring处理数据库中Date类型字段转换成时间戳问题

    有两种方式可以解决日期转换Json问题: 1.(不推荐)局部修改,自定义注解进行将日期类型转换为Date类型. 2.(强烈推荐)全局修改,用MappingJackson2HttpMessageConv ...

  6. java中用if判断性别,if(sex.equals(男)){中 .equals是什么含义?

    import java.util.Scanner; public class 嵌套if选择结构 { public static void main(String[] args) { Scanner i ...

  7. mongodb 如何删除 字段值为 json对象中的某个字段值

    例如: { attributes: { birthday:'1988-01-01', name: 'aq' } } birthday是attributes字段的value的一个字段, 我要删除birt ...

  8. db2增加decimal类型字段小数位_05725.16.1Hive中decimal类型字段.0结尾数据显示异常问题处理...

    作者:辉少 1 问题描述 Fayson今天在Hive中插入字段类型为decimal的数据时发现,插入数据为1.0, 1.000等以 .0结尾的数据在hive中显示为1,即不显示末尾的.0 ,如下: C ...

  9. oracle blob字段索引,在oracle 数据库中使用 Blob 字段存储 一张图片并读取

    1. 进行数据库的设置  create table image_lob(t_id varchar2(5) not null,t_image blob not null); create or repl ...

  10. mysql 同样字段的索引_MySQL表中具有相同字段的两个索引

    MySQL 5.7.9 – 删除id_type索引并没有什么区别.多列索引(type_date)适用于两个查询. 解释查询输出: mysql> explain SELECT id_type,da ...

最新文章

  1. Linux内核移植之二:Kconfig分析
  2. 牛客网《BAT面试算法精品课》学习笔记
  3. windows下基于IIS配置ssl证书
  4. java整合flex
  5. multi task训练torch_手把手教你使用PyTorch(2)-requires_gradamp;computation graph
  6. python的继承用法_python之继承中组合用法与菱形继承关系查找法
  7. 实用教程丨官方下载Oracle各版本安装软件及补丁包
  8. Sharding-Sphere,Sharding-JDBC_分库分表(垂直分库_垂直分表)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记003
  9. Python 学习笔记 - 作用域小知识
  10. MySQL Innodb Engine -- 文件格式(innodb_file_format)
  11. 《亡灵序曲》各版本收集
  12. 遥感影像、DEM免费下载以及MPT制作
  13. 清华大学,北京大学,浙江大学公布计算机考研校线!有的不变,有的下降5分!...
  14. 电源硬件设计----线性调压器与LDO
  15. echarts 地图行政区划压缩_echarts地图数据的压缩
  16. 【TypeScript】Object、object和{}类型
  17. nRF52840作为通信模块与Arduino的联动
  18. coffeescript_在服务器上使用CoffeeScript
  19. linux定时重启服务
  20. BitTorrent种子文件的解析+(1)

热门文章

  1. python ctypes 详解_python与C语言调用模块 ctypes的详解
  2. java monitor 翻译_管程(Monitor)概念及Java的实现原理
  3. 新乡医学院2018计算机考试题,新乡医学院继教2018级局部解剖学复习自测下肢答案...
  4. C#中输入法全角转换半角
  5. ES6扩展运算符的几个小技巧
  6. mysql常用命令整理
  7. 实时控制软件设计第二周作业-停车场门禁控制系统状态机设计
  8. python---字符编码
  9. 匹配yyyy-mm-dd日期格式的的正则表达式
  10. 赋予用户最高权限的一点“挫折”