【发布时间】:2016-05-11 06:12:50
【问题描述】:
假设有一个列表说
List<String> myList = new ArrayList<String>();
myList.add("okay");
myList.add("omg");
myList.add("kk");
我正在这样做:
List<String> fianllist = myStream.map(item -> item.toUpperCase()).filter(item
->item.startsWith("O")).collect(Collectors.toList());
我的问题是 map 和 filter 之间的区别是什么,因为两者都可以将 lambda 表达式作为参数。有人可以解释一下吗?
【问题讨论】:
-
您阅读过 Javadoc 吗?他们做的事情完全不同。
-
map将传递的流元素(字符串)映射到其他东西,这里是另一个字符串值,但它也可能是一个整数。filter删除不符合条件的元素。 -
将其视为数据库查询。从 name="John"(过滤器)的用户中选择名称(地图)。
-
感谢您的澄清
标签: java collections java-stream