簡體   English   中英

為什么在Iterable上沒有map方法

[英]Why is there no `map` method on `Iterable`

Iterable具有forEach默認方法

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

為什么沒有map方法?

例如, Map有一個map方法。

以下來自Stream Java文檔的摘錄嘗試解釋:

集合和流雖然具有一些表面上的相似性,但它們具有不同的目標。 館藏主要涉及對其元素的有效管理和訪問。 相比之下,流不提供直接訪問或操縱其元素的方法,而與聲明性地描述其源以及將在該源上聚合執行的計算操作有關。

本質上,可迭代處理訪問和遍歷,而流則更多地參與轉換和計算。

經過一番討論,原因似乎是如果Iterable上有一個map方法,則必須返回Iterable 對於集合來說,這是奇怪的。

例如, List.map必須返回一個Iterable

對於Map.map則不是這種情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM