为什么``Iterable`上没有`map`方法

时间:2016-11-08 02:08:35

标签: java

Iterable有一个forEach默认方法

https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html

为什么没有map方法?

例如,Mapmap方法。

2 个答案:

答案 0 :(得分:2)

摘自Stream java doc试图解释:

  

集合和流虽然有一些肤浅的相似之处,却有不同的目标。馆藏主要关注其元素的有效管理和访问。相比之下,流不提供直接访问或操纵其元素的方法,而是关注声明性地描述它们的源以及将在该源上聚合执行的计算操作。

实质上,Iterable处理访问和遍历,而Streams更多地涉及转换和&计算。

答案 1 :(得分:2)

经过一番讨论后,原因似乎是map上有Iterable方法,它必须返回Iterable。这对于收藏来说是奇怪的。

例如,List.map必须返回Iterable

Map.map不是这种情况。