У меня есть 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>>>.