浏览https://github.com/google/guava/wiki/FunctionalExplained我看到transform等操作,它会转换列表但保持相同的基数。如何执行导致不同基数的转换?例如(伪代码)List(1,2,3).transform(i => List(i, i))
- > List(1,1,2,2,3,3)
答案 0 :(得分:44)
从版本13开始,transformAndConcat
上有FluentIterable
。
答案 1 :(得分:7)
我认为没有直接翻译,但transform
后跟concat
应该是等效的。
答案 2 :(得分:3)
在Eclipse Collections中,collect()
相当于Scala的map()
,而flatCollect()
相当于Scala的flatMap()
。
以下是flatCollect with Java 8 Lambdas的示例用法。
注意:我是Eclipse Collections的提交者。
答案 3 :(得分:2)
注意一件事:Scala的map方法返回新的集合,而Guava中的transform()方法返回原始集合的转换视图。这是一个非常微妙的区别。您需要确定“查看原始集合”是否适合您的上下文。