Как описать функцию при помощи 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);
→ Ссылка