Как описать функцию при помощи Lamda выражения?
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
if (entry.getValue()==min) {
System.out.print(entry.getKey()+" ");
}
}
Map.forEach((k,v) -> v == min ? System.out.println (k));
Где я ошибаюсь?
Ответы (2 шт):
Автор решения: AlekseiGaile
→ Ссылка
public class Main {
public static void main(String[] args) {
Integer min = 5;
Map<Integer, Integer> map = new HashMap<>();
map.put(5, 4);
map.put(3, 5);
map.forEach((k, v) -> {
if (v.equals(min)) {
System.out.println("key: " + k + " value:" + v);
}
});
}
}
Автор решения: Дмитрий
→ Ссылка
вариантов много, это не все, но, думаю, этого будет достаточно, чтобы разобраться
map.forEach((k, v) -> { if (v == min ) System.out.println(k);});
map.entrySet().stream()
.filter(e -> e.getValue() == min)
.forEach(t -> System.out.println(t.getKey()));
map.entrySet().stream()
.filter(e -> e.getValue()==min)
.map(Map.Entry::getKey)
.forEach(System.out::println);