2011-05-15 17 views
14

Mają jeden object z type A który jest związany z grupą objects z type B i chcą przechowywać wszystkie objects z type A i łatwy dostęp do swoich type B stosunków.Wdrażanie jeden do wielu mapie w Javie

Jaka jest najlepsza (wbudowana?) Struktura danych robiąca to w Javie?

Odpowiedz

17

Można mieć Map z type A obiektów do List lub Set (lub cokolwiek Collection działa najlepiej) z type B obiektów, takich jak:

Map<A,List<B>> map = new HashMap<A,List<B>>(); 

Albo użyć MultiMap interfejsu Google, co zrobi w zasadzie takie same jak powyżej, ale przy mniejszej pracy z Twojej strony.

+0

Dzięki! ... jak to porównać do przechowywania drzew z obiektami typu A jak korzenie i typu B, jak dzieci ... czy istnieje standardowa implementacja drzewa czy też wdrożenie tej kwoty, aby robić to samo, jak masz wspomniano powyżej? – algorithmicCoder

+0

@algorithmicCoder W java nie ma wbudowanej struktury drzewa, poza [TreeMap] (http://download.oracle.com/javase/1.4.2/docs/api/java/util/TreeMap.html)/TreeSet, który służy do sortowania kluczy i [DefaultTreeModel] (http://download.oracle.com/javase/1.5/docs/api/javax/swing/tree/DefaultTreeModel.html), który jest zwykle używany z [JTree] (http : //download.oracle.com/javase/tutorial/uiswing/components/tree.html). Myślę, że twój projekt mapy obiektów do grupy obiektów B działa dobrze. –