美文网首页
java8 根据实体类中的某个字段对实体类去重

java8 根据实体类中的某个字段对实体类去重

作者: writeanewworld | 来源:发表于2020-09-24 16:39 被阅读0次
  1. java8 根据实体类中的某个字段对实体类去重
  2. 2019-02-23 实体类转字典
  3. List排序
  4. spring-data-jpa中的sort多条件排序
  5. SQL动态语句 where和if标签的使用
  6. MyBatis一对一,一对多,多对一,多对多
  7. java stream groupingby分组后排序重构val
  8. java8 list 去重
  9. Q&A - Gson 转换实体类对象成 json 串报错
  10. SpringData分析
  11. 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<Student> 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<Student> 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

    相关文章