У меня есть Map<String, String>
и List<String>
. Я хотел бы разделить Map
на основе условий
foreach(map.key -> list.contains(map.key))
и создайте две Map
. Какой самый элегантный способ сделать это? Я на Java 11, так что вы можете бросить все, что вы хотите в ответах.
То, к чему я пришел сейчас, это:
map.entrySet()
.stream()
.collect(partitioningBy(e -> list.contains(o.getKey())));
но это дает Map<Boolean, List<Entry<String, String>>>
.