即,如果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)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报