Вопрос

Где я могу найти реализацию мультимапа для 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top