Вы можете сопоставить свою запись с вычисленным значением, а затем применить or
в операторе сокращения:
map.entrySet().stream()
.filter(entry -> entry.getValue() && entry.getKey().getValue() > 0)
.mapToInt(entry -> (1 << (entry.getKey().getValue() - 1)))
.reduce(0, (r, i) -> r | i)
Изменить: добавлен 0 в качестве элемента идентификации для операции сокращения, чтобы иметь значение по умолчанию 0, если карта пуста.
Edit2: как было предложено в комментариях, я изменил порядок фильтров, чтобы избежать ненужных вызовов методов
Edit3: как было предложено в комментариях, теперь используется mapToInt