Где я могу найти реализацию multimap для Java, которая будет работать на Android без необходимости включать какие-либо другие классы и т. д. Все реализации, которые я нашел, требуют других вещей, которые требуют других вещей, и это быстро становится беспорядочным. Я переношу проект с С++ и новичок в java (а также в этом проекте, поэтому я стараюсь, чтобы все было как можно более идентичным, пока он работает), поэтому любые ссылки или примеры были бы замечательными.
Как я могу создать Multimap в Java на Android
Ответы (3)
Вы можете использовать карту и список для создания мультикарты. Допустим, вы хотите связать целое число со списком типа класса T. Используйте следующий код:
Map<Integer, List<T>> myMultiMap = new HashMap<Integer, List<T>>();
Это может стать грязным, но это должно дать вам то, что вы ищете.
Другой вариант — использовать Guava. com/svn/trunk/javadoc/com/google/common/collect/Multimap.html">Multimap.html">Multimap реализации.
Похоже, вы ищете библиотеку Apache Commons Collection. У вас есть класс MultiMap. Я еще не тестировал его сам, поэтому я не могу обещать, что он работает, но он выглядит подходящим для вашего проекта.
Вы не найдете функцию MultiMap в Java, поэтому у других есть написанные библиотеки, содержащие ее. Однако вы можете попытаться реализовать его самостоятельно, если ваш уровень знаний достаточно высок, но для этого потребуется некоторый опыт работы с Java. Так что лучше всего попытаться научиться использовать и, при необходимости, адаптировать библиотеки для их использования на Android.
Если вам небезразличен размер кода, мы только что добавили мультикарты в нашу библиотеку утилит: http://greenrobot.org/2015/12/11/multimaps-in-greenrobot-common-2-2/
Размер jar намного ниже 100 КБ, что неплохо, если учесть ограничение метода Android в 65 КБ.