Iterable
有一个forEach
默认方法
https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html
为什么没有map
方法?
例如,Map
有map
方法。
答案 0 :(得分:2)
摘自Stream java doc试图解释:
集合和流虽然有一些肤浅的相似之处,却有不同的目标。馆藏主要关注其元素的有效管理和访问。相比之下,流不提供直接访问或操纵其元素的方法,而是关注声明性地描述它们的源以及将在该源上聚合执行的计算操作。
实质上,Iterable处理访问和遍历,而Streams更多地涉及转换和&计算。
答案 1 :(得分:2)
经过一番讨论后,原因似乎是map
上有Iterable
方法,它必须返回Iterable
。这对于收藏来说是奇怪的。
例如,List.map
必须返回Iterable
Map.map
不是这种情况。