_Onelone丶 2021-09-06 19:12 采纳率: 41.2%
浏览 37
已结题

List对象中,某属性值相同,如何去除指定其他属性的值,转成新的list

即,如果list中有两个对象的productId相同则去除两个其中一个productType=1,这个代码怎么写?stream流

  • 写回答

1条回答 默认 最新

  • 撸码社区 2021-09-06 20:55
    关注

    我写了一个类似的案例,望采纳!
    用户名称相同的用户,选取年龄大于19的

            List<User> users = Arrays.asList(
                    new User("张三", 18, 5000),
                    new User("张三", 20, 5000),
                    new User("张四", 19, 7000),
                    new User("张四", 22, 7000),
                    new User("张五", 22, 10000));
            System.out.println("处理前:");
            users.forEach(System.out::println);
            System.out.println("处理后:");
            Map<String, List<User>> collect = users.stream()
                    .collect(Collectors.groupingBy(User::getName));
            collect.keySet().forEach(c -> {
                collect.get(c).stream().filter(u -> u.getAge() > 19).forEach(System.out::println);
            });
    
    处理前:
    User(name=张三, age=18, salary=5000)
    User(name=张三, age=20, salary=5000)
    User(name=张四, age=19, salary=7000)
    User(name=张四, age=22, salary=7000)
    User(name=张五, age=22, salary=10000)
    处理后:
    User(name=张四, age=22, salary=7000)
    User(name=张三, age=20, salary=5000)
    User(name=张五, age=22, salary=10000)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月22日
  • 已采纳回答 9月14日
  • 创建了问题 9月6日

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法