2010-11-05 5 views
6

Wo finde ich eine Implementierung von Multimap für Java, die auf Android funktioniert, ohne dass andere Klassen usw. enthalten sind. Die Implementierungen, die ich gefunden habe, erfordern andere Dinge, die andere erfordern Dinge und es wird schnell unordentlich. Ich portiere ein Projekt von C++ und bin neu in Java (und auch dieses Projekt, so versuche ich, die Dinge so identisch wie möglich zu halten, während es funktioniert), so dass Referenzen oder Beispiele toll wären.Wie kann ich eine Multimap in Java auf Android erstellen

Antwort

17

Sie könnten eine Karte und eine Liste verwenden, um eine Multimap zu erstellen. Sagen Sie bitte eine ganze Zahl mit einer Liste des Klassentyp T. Mit folgendem Code zuordnen wollen:

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

Es könnte chaotisch, aber das sollten Sie was Sie suchen.

Eine weitere Option ist die Verwendung der -Bibliothek Multimap Implementierungen.

+0

Ich schaute auf Guava, aber es ist Multimap-Implementierung sieht aus wie es erfordert einige andere Klassen, die wiederum andere erfordern ... Ich möchte nicht installieren und einen Stapel von neuen Sachen, ich will nur eine einfache multimap das wird sich wie in C++ verhalten, um die Portierung zu vereinfachen. Vielen Dank für die Vorschläge, wenn ich nicht finde, etwas sauber genug zu finden, kann ich eine Karte/Liste implementieren, wie Sie empfehlen, aber dann muss ich einige Verwaltung dieser Struktur erstellen ... – ima747

+0

Liste in einer Karte erwies sich als die beste Lösung für meine Bedürfnisse. – ima747

5

Es sieht aus wie Sie nach Apache Commons Collection Bibliothek suchen. Dort haben Sie eine MultiMap Klasse. Ich habe es selbst noch nicht getestet, also kann ich nicht versprechen, dass es funktioniert, aber es sieht einfach gut aus für Ihr Projekt.

Sie werden eine MultiMap-Funktion in Java nicht finden, daher haben andere Bibliotheken geschrieben, die sie enthalten. Sie können jedoch versuchen, es selbst zu implementieren, wenn Ihr Wissensniveau hoch genug ist, aber das würde einige Java-Erfahrung erfordern. Am besten versuchen Sie zu lernen, wie Sie Bibliotheken für die Verwendung auf Android verwenden und wenn nötig anpassen können.

Verwandte Themen