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

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.测试结果

c4231c10b449

image.png

3.适用场景

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值