util - optional lambda java
¿Cuál es el equivalente de Guava del flatMap de Scala? (4)
Sin embargo, preste atención a una cosa: los métodos de mapas de Scala devuelven nuevas colecciones, mientras que el método de transformación () en Guava devuelve una vista transformada de la colección original. Esta es una diferencia muy sutil. Debe decidir si la ''vista sobre la colección original'' es apropiada para su contexto.
Mirando a través de https://github.com/google/guava/wiki/FunctionalExplained veo operaciones como transform , que transformarán una lista pero mantendrán la misma cardinalidad. ¿Cómo puedo realizar una transformación que da como resultado una cardinalidad diferente? por ejemplo, (pseudocódigo) List(1,2,3).transform(i => List(i, i))
-> List(1,1,2,2,3,3)
A partir de la versión 13, hay transformAndConcat
en FluentIterable
.
En Eclipse Collections , collect()
es el equivalente al map()
de Scala map()
, y flatCollect()
es el equivalente de flatMap()
de Scala.
Aquí hay un ejemplo de uso de flatCollect con Java 8 Lambdas .
Nota: soy un committer para las colecciones de Eclipse.
No creo que haya una traducción directa, pero la transform
seguida de concat
debe ser equivalente.