Dit is niet echt een Java probleem, maar meer algemeen. Aangezien ik het wel met Java op wil lossen heb ik het er even bij gezet.
Het komt er op neer dat ik groepen wil nesten en ik ben op zoek naar een redelijk efficiente manier hiervoor. Ik zal even mijn probleem uitleggen:
ik heb een java.util.List met waarin meerdere keren het volgende object in voorkomt:
De lijst met groepen komt uit een SQL DB, het is de bedoeling dat de lijst met groepen genest gaat worden (als een tree), bijvoorbeeld
huidige situatie:
group 1.2
group 1.1
group 1.1.2
group 2.2
group1
group 1.4
group 1.3
group2
group 1.1.1
group 2.1
etc
nieuw situatie:
group1
| - group 1.1
| |- group 1.1.1
| |- group 1.1.2
| - group 1.2
| - group 1.3
| - group 1.4
group2
| - group 2.1
| - group 2.2
etc
(groep nummers zijn niet representatief, is meer zo van "fj4gfj40g8u43". Er zit geen info in verwerkt van de verwachte locatie in de tree)
Theoretisch gezien kan het nesten zo'n beetje oneindig door gaan.
Uiteraard kan ik 100x (of iig heelveel x) die lijst doorlopen totdat ik het geheel heb opgebouwd, maar dat lijkt me niet het meest efficient.
Kan iemand mij op weg helpen (kan me niet voorstellen dat ik de eerste ben die met dit probleem zit
). bijv door een verwijzing naar een desingpattern o.id. of gewoon een slim idee.
Ik heb overigens al in omega en google gezocht, maar niets gevonden
Het komt er op neer dat ik groepen wil nesten en ik ben op zoek naar een redelijk efficiente manier hiervoor. Ik zal even mijn probleem uitleggen:
ik heb een java.util.List met waarin meerdere keren het volgende object in voorkomt:
code:
1
2
3
4
5
6
7
| public class Group {
private String groupid; //unique id, not sequential
private String parentid; //id of the parentgroup
private List groups //The groups in this group
private .....
etc, etc
} |
De lijst met groepen komt uit een SQL DB, het is de bedoeling dat de lijst met groepen genest gaat worden (als een tree), bijvoorbeeld
huidige situatie:
group 1.2
group 1.1
group 1.1.2
group 2.2
group1
group 1.4
group 1.3
group2
group 1.1.1
group 2.1
etc
nieuw situatie:
group1
| - group 1.1
| |- group 1.1.1
| |- group 1.1.2
| - group 1.2
| - group 1.3
| - group 1.4
group2
| - group 2.1
| - group 2.2
etc
(groep nummers zijn niet representatief, is meer zo van "fj4gfj40g8u43". Er zit geen info in verwerkt van de verwachte locatie in de tree)
Theoretisch gezien kan het nesten zo'n beetje oneindig door gaan.
Uiteraard kan ik 100x (of iig heelveel x) die lijst doorlopen totdat ik het geheel heb opgebouwd, maar dat lijkt me niet het meest efficient.
Kan iemand mij op weg helpen (kan me niet voorstellen dat ik de eerste ben die met dit probleem zit
Ik heb overigens al in omega en google gezocht, maar niets gevonden
[ Voor 15% gewijzigd door Standeman op 30-06-2004 11:51 . Reden: uitgebreid ]
The ships hung in the sky in much the same way that bricks don’t.