У меня есть решение проблемы, которую я давно пытаюсь решить. К сожалению, я не могу использовать решение, так как целевая java версия - Java 8.
Map<List<String>, String> map = new HashMap<>();
map.put(List.of("Los Angeles", "New York", "Chicago"), "USA");
map.put(List.of("Toronto", "Vancover", "Montréal"), "Canada");
Map<String, String> newMap = map.entrySet()
.stream()
.flatMap(entry -> entry.getKey()
.stream()
.map(city -> Map.entry(city, entry.getValue())))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)));
. Это вернет мне карту типа: {New York=USA, Chicago=USA, Los Angeles=USA, Toronto=Canada}
Теперь мой вопрос, можно получить этот результат без использования Map.entry (...) в Java 8?