Cómo escribir código para el siguiente problema usando Java 8 stream [duplicado]
Oct 13 2020
Map<String,Integer> hm = new HashMap<>();
hm contiene el nombre y la edad de los empleados. Cómo encontrar los nombres de todos los empleados cuya edad> 25 usando el concepto de flujos de Java 8
Intenté así
hm.stream().filter(x->Map.Entry.getValue(x)>25).collect(collectors.toList());
¿Alguien podría corregirme?
Respuestas
1 Eklavya-UpvoteDon'tSayThanks Oct 13 2020 at 00:30
No se puede transmitir directamente a través de Map. Puede obtener .entrySet()el mapa, luego filtrar por edad y recopilar nombres en una lista.
List<String> list = hm.entrySet().stream()
.filter(x -> x.getValue() > 25)
.map(e -> e.getKey())
.collect(Collectors.toList());