Bonjour,

Je souhaite représenter le schéma UML suivant en code java

| Pays |<>------| Region |<>------| Dpt |<>------| Ville |


Les relations sont de type 1 - *

Je crée les 4 classes sous la forme suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
public class Region {
 
private String nom;
private ArrayList listeDpt;
private Pays lePaysAssocie;
private Dpt unDpt;
 
//Constructeur
public Region(String nom, Pays pays) {
<div style="margin-left:40px">this.nom = nom;
this.lePaysAssocie = pays;
this.listeDpt = getListeDpt(nom);</div>}
 
//Methodes
getListeDpt(String nom) {
<div style="margin-left:40px">recuperation depuis SGBD</div>}
...
}

Les autres classes suivent la même structure.
Sachant que le nombre de données est très très grand, est-ce que je vais avoir un problème de mémoire au vu de la structure de mon code? Comme je relis un objet avec plusieurs fils et aussi avec son parent, le GC va pas me supprimer mes objets inutiles??

L'attribut unDpt me permet de stocker l'element qui me sert actuellement. Par exemple à partir de France je peux faire France.getRegion().getDpt().getVille() pour recuperer la ville "enregistrée".

Comment coder ce genre de relations sans causer de problèmes de mémoire??