Preguntas etiquetadas con java-stream

Use esta etiqueta para preguntas relacionadas con el uso de Stream API. Se introdujo en Java 8 y admite operaciones de estilo funcional en flujos de valores, como las canalizaciones filter-map-reduce en colecciones.

934
Java 8 Lista <V> en el Mapa <K, V>

Quiero traducir una Lista de objetos en un Mapa usando los flujos y lambdas de Java 8. Así es como lo escribiría en Java 7 y a continuación. private Map<String, Choice> nameMap(List<Choice> choices) { final Map<String, Choice> hashMap = new HashMap<>(); for (final Choice...

504
Encuentra el primer elemento por predicado

Acabo de comenzar a jugar con Java 8 lambdas y estoy tratando de implementar algunas de las cosas a las que estoy acostumbrado en lenguajes funcionales. Por ejemplo, la mayoría de los lenguajes funcionales tienen algún tipo de función de búsqueda que opera en secuencias o listas que devuelve el...

466
Java 8 Iterable.forEach () vs foreach loop

На этот вопрос есть ответы en Stack Overflow на русском : Цикл foreach против Iterable.foreach en Java 8: что лучше? ¿Cuál de las siguientes es una mejor práctica en Java 8? Java 8: joins.forEach(join -> mIrc.join(mSession, join)); Java 7: for (String join : joins)...

456
Java 8 distinto por propiedad

En Java 8, ¿cómo puedo filtrar una colección usando la StreamAPI comprobando la distinción de una propiedad de cada objeto? Por ejemplo, tengo una lista de Personobjetos y quiero eliminar personas con el mismo nombre, persons.stream().distinct(); Usaré la verificación de igualdad predeterminada...

257
Ignorar duplicados al producir mapas usando flujos

Map<String, String> phoneBook = people.stream() .collect(toMap(Person::getName, Person::getAddress)); Me sale java.lang.IllegalStateException: Duplicate keycuando se encuentra un elemento duplicado. ¿Es posible ignorar tal excepción al agregar valores al mapa? Cuando hay duplicado,...

240
Uso de Java 8 opcional con Stream :: flatMap

El nuevo marco de transmisión Java 8 y sus amigos crean un código Java muy conciso, pero me he encontrado con una situación aparentemente simple que es difícil de hacer de manera concisa. Considere un List<Thing> thingsy método Optional<Other> resolve(Thing thing). Quiero mapear los...