Как создать Multimap в Java на Android

где я могу найти реализацию multimap для Java, которая будет работать на Android без необходимости включать какие-либо другие классы и т. д. Реализации, которые я нашел, требуют других вещей, которые требуют других вещей, и это быстро становится грязным. Я портирую проект С C++ и новичок в java (и этот проект также, поэтому я пытаюсь сохранить вещи как можно более идентичными, пока он работает), поэтому любые ссылки или примеры будут отличными.

3 ответов


вы можете использовать карту и Список для создания multimap. Предположим, вы хотите связать целое число со списком классов типа T. используйте следующий код:

Map<Integer, List<T>> myMultiMap = new HashMap<Integer, List<T>>();

можно запутаться, но это должно дать вам то, что вы ищете.

другой вариант-использовать гуавы библиотеки!--10-->Multimap реализаций.


похоже, вы ищете Коллекция Apache Commons библиотека. Там у вас есть MultiMap класса. Я еще не тестировал его сам, поэтому не могу обещать, что он работает, но он просто выглядит подходящим для вашего проекта.

вы не найдете функцию MultiMap в Java, поэтому другие написали библиотеки, содержащие ее. Однако вы можете попытаться реализовать его самостоятельно, если уровень знаний достаточно высок, но для этого потребуется некоторый опыт Java. Так что ... лучше всего попытаться узнать, как использовать и при необходимости адаптировать библиотеки для их использования на Android.


Если вы заботитесь о размере кода, мы просто добавили multimaps в нашу служебную библиотеку: http://greenrobot.org/2015/12/11/multimaps-in-greenrobot-common-2-2/

банка намного ниже 100k, что приятно, если вы считаете предел метода 65K Android.