[英]What is the Guava equivalent of Scala's flatMap?
通過https://github.com/google/guava/wiki/FunctionalExplained查看我看到像transform這樣的操作,它將轉換列表但保持相同的基數。 如何執行導致不同基數的轉換? 例如(偽代碼) List(1,2,3).transform(i => List(i, i))
- > List(1,1,2,2,3,3)
截至13版,有transformAndConcat
上FluentIterable
。
我不認為有直接的翻譯,但是concat
后面的transform
應該是等價的。
在Eclipse Collections中 , collect()
相當於Scala的map()
,而flatCollect()
相當於Scala的flatMap()
。
以下是使用Java 8 Lambdas的flatCollect的示例用法。
注意:我是Eclipse Collections的提交者。
但要注意一件事:Scala的map方法返回新的集合,而Guava中的transform()方法返回原始集合的轉換視圖。 這是一個非常微妙的區別。 您需要確定“查看原始集合”是否適合您的上下文。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.