Рубрики
Java

Multi-map в Java 8

Мультикарта (multi-map) может пригодиться в реальной работе или на собеседовании. Почему-то в некоторых компаниях при приёме на работу любят давать алгоритмические задачки на её использование (лично я так не поступаю).
По сути это обычная карта (Map) в которой значением является коллекция (List или Set).
Сейчас в JCF (Java Collections Framework) нет готового класса для Multimap.

До выхода Java 8 приходилось логику работы писать вручную.
Например так.
Допустим, нам поступают такие данные:

Moscow=ru
Omsk=ru
Tula=ru
NY=us
LA=us
London=uk и т.д.

Их нужно представить в виде:

ru=Moscow, Omsk, Tula
us=NY, LA
uk=London

Тогда логику можно реализовать, например, в таком виде: