List<KeyValuePairs>
можно преобразовать в Set<Value>
для ускорения дальнейших поисков:
var set = pairs.stream()
.map(KeyValuePair::getValue)
.collect(Collectors.toSet());
Затем, если полученная карта не должна содержать элементы, которые не были найдены в pairs
, отфильтруйте их по set::contains
:
var map = list.stream()
.filter(set::contains)
.collect(Collectors.toMap(Function.identity(), i -> true));
Если полученная карта должна содержать каждый элемент из list
, независимо от того, были ли они найдены:
var map = list.stream()
.collect(Collectors.toMap(Function.identity(), set::contains));