java 1.8stream流操作

这一段代码怎么改成stream流操作,根据dataType过滤出不同类型对象,返回前端

img


byPiid.stream().peek(bugdet -> {
            if ("0".equals(bugdet.getDateType())) {
                request.setAttribute("budgePay", bugdet);
            } else if ("1".equals(bugdet.getDateType())) {
                request.setAttribute("budgePercent", bugdet);
            } else if ("2".equals(bugdet.getDateType())) {
                request.setAttribute("budgeText", bugdet);
            }
        }).collect(Collectors.toList());

先将list转换成stream()。然后使用stream流的api进行处理。


List<Person> list = new ArrayList<>();
list.add(new Person("jack", 20));
list.add(new Person("mike", 25));
list.add(new Person("tom", 30));

保留年龄为 20 的 person 元素
list = list.stream()
            .filter(person -> person.getAge() == 20)
            .collect(toList());
 
打印输出 [Person{name='jack', age=20}]

看看【运笔如飞】写的equals