stream
значения Map
, преобразуйте их, затем sum()
int pair = testMap.values().stream().mapToInt(i -> i / 2).sum();
Чтобы сделать его немного похожим на ваш исходный код, вы можете использовать reduce()
операция:
int pair = testMap.values()
.stream()
.reduce(0, (p, i) -> p + i / 2);
В основном это начинается со значения 0
(«идентичность»), а затем передает результат применения функции сокращения в качестве входных данных, наряду с текущим значением, к каждому значению по очереди.
Программа PS для интерфейса:
Map<Integer, Integer> testMap = new HashMap<>();