Welche Datenstruktur verwende ich hier?

8

Ich habe viele Instanzen, zwei Klassen Children und Animal , die eine viele-zu-viele Entity-Beziehung haben.

Ich möchte eine Datenstruktur haben, so dass ich mit Children eine Liste von Animal bekommen kann, die darauf abgebildet sind und umgekehrt. Für jedes gegebene Animal kann ich eine Liste von Children bekommen, die ihm zugeordnet sind.

Ich brauche diese Datenstruktur, damit sie von jedem Thread angesprochen werden kann.

Also ein Beispiel Mapping gegeben:

%Vor%

Abfrage für Child1 Ich möchte eine zurückgegebene Liste erhalten: [ Animal1, Animal2, Animal2 ] .

Abfrage für Animal2 Ich möchte eine zurückgegebene Liste erhalten: [ Child2, Child3 ] .

Die einzige Möglichkeit, dies zu tun, war ein Wörterbuch und eine Liste für jedes Element in diesem Wörterbuch (sowohl Tiere als auch Kinder) zu verwenden, aber ich würde mich dann auch damit befassen müssen, eine Synchronisierung der Listen zu sperren.

    
Cheetah 18.03.2013, 13:05
quelle

2 Antworten

7

Ich denke, Sie müssen Ihre Datenstruktur in drei Ebenen aufteilen.

%Vor%

So Child und Animal haben beide Sammlungen von ChildToAnimalRelation

%Vor%

Eine Tierkinder bekommen würde wie folgt getan:

%Vor%

umgekehrt:

%Vor%     
Michael Schnerring 18.03.2013 13:10
quelle
2

Wie wäre es mit einer Liste und dann mit Linq für die Abfrage? Eine mögliche Implementierung:

%Vor%     
David 18.03.2013 13:11
quelle

Tags und Links