list stream().forEach

遍历list的另一种写法

List<Integer> list= new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        list.add(6);
        list.stream().forEach(item -> {
            System.out.println("item="+item);
        });
过滤list并返回字符串

@Test
    public void streamList() {
        List<String> list = new ArrayList<String>();
        list.add("aaa1");
        list.add("bbb1");
        list.add("ccc1");
        list.add("aaa2");
        String message = list.stream()
                    .filter(record -> record.startsWith("aaa"))
                    .map(record ->{
                        return "<"+record+">";
                    })
                    .collect(Collectors.joining(","));//返回一个String以,分隔
                  //.collect(Collectors.toList());//返回一个List<String>
        System.out.println(message);
                                   
    }
<aaa1>,<aaa2>   //为所得到的结果
.collect(Collectors.toList());//返回一个List<String>

map


 return productMapper.findEnabledProduct(categoryId).stream()
                    .map(productConverter())
                    .collect(Collectors.toList());//直接转成一个你想要的类型

将map内容封装成一个方法 


Function.apply方法的使用 将单条记录转换
Product = productConverter().apply(tProduct);
 

上一篇:forEach, map, filter方法区别


下一篇:MyBatis动态Sql之foreach标签的用法