Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I create a Multimap in Java on Android

Where can I find an implementation of multimap for Java that will work on Android without having to include any other classes etc. The implementations I've found all require other things which require other things and it gets messy quick. I'm porting a project from C++ and am new to java (and this project as well so I'm trying to keep things as identical as possible while getting it working) so any references or examples would be great.

like image 560
ima747 Avatar asked Nov 05 '10 19:11

ima747


2 Answers

You could use a Map and a List to create a multimap. Say you wanted to associate an integer with a list of class type T. Use the following code:

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

It could get messy but, this should give you what you're looking for.

Another option is to use the Guava library's Multimap implementations.

like image 143
thattolleyguy Avatar answered Sep 24 '22 21:09

thattolleyguy


It looks like you are looking for Apache Commons Collection library. There you have a MultiMap class. I haven't tested it myself yet so I can't promise it works but it just looks about right for your project.

You won't find a MultiMap function in Java hence others have written libraries containing it. You can however try to implement it yourself if you're knowledge-level is high enough but that'd require some Java experience. So your best bet is to try to learn how to use and if necessary adapt libraries for using them on Android.

like image 20
Octavian A. Damiean Avatar answered Sep 24 '22 21:09

Octavian A. Damiean