JAVA8 STREAM map和forEach用法区别

List<Person> personList = Lists.newArrayList();
personList.add(new Person("张三"));
personList.add(new Person("李四"));

personList.stream().map(p-> p.getName()).forEach(s -> System.out.println(s));
System.out.println("----------------");
personList.stream().forEach(p-> System.out.println(p.getName()));

张三
李四


张三
李四

可以看出:
map是把每一个进入的元素转换成另一个元素排出,上面的例子中把person对象转换成了name,有新的元素排出。
forEach是对每一个进入的当前元素执行一段表达式,没有排出另一种元素,上面的例子就是打印了person的name。

猜你喜欢

转载自blog.csdn.net/weixin_34138377/article/details/87625856