Как я могу создать MultiMap в Java на Android
Вопрос
Где я могу найти реализацию мультимапа для Java, которая будет работать на Android без необходимости включать в себя какие -либо другие классы и т. Д.. Все, что я обнаружил, требуют других вещей, которые требуют других вещей, и это становится грязно быстро. Я переношу проект из C ++ и новичок в Java (и в этом проекте, поэтому я стараюсь сохранять вещи максимально идентичными, когда он работал), чтобы любые ссылки или примеры были бы великолепны.
Решение
Вы можете использовать карту и список для создания MultiMap. Скажем, вы хотите связать целое число со списком классов типа T. Используйте следующий код:
Map<Integer, List<T>> myMultiMap = new HashMap<Integer, List<T>>();
Это может быть грязно, но это должно дать вам то, что вы ищете.
Другой вариант - использовать Гуава библиотека MultiMap Реализации.
Другие советы
Похоже, вы ищете Apache Commons Collection библиотека. Там у тебя есть Мультимап класс. Я еще не тестировал это сам, поэтому я не могу обещать, что это работает, но это просто выглядит правильно для вашего проекта.
Вы не найдете функцию MultiMap в Java, следовательно, другие библиотеки, содержащие его. Однако вы можете попытаться реализовать его самостоятельно, если ваш уровень знаний достаточно высок, но это требует некоторого опыта Java. Таким образом, ваша лучшая ставка - попытаться узнать, как использовать и при необходимости адаптировать библиотеки для использования их на Android.
Если вы заботитесь о размере кода, мы просто добавили MultiMaps в нашу утилитую библиотеку:http://greenrobot.org/2015/12/11/multimaps-in-greenrobot-common-2-2/
JAR намного ниже 100K, что приятно, если вы рассмотрите ограничение метода Android 65K.