mon "problème" j'ai un certain nombre d'objets "Appellation" organisés
géographiquement (Pays, régions, sous-régions et Villages) mon mode de
représentation est une TableTree (swt).
ces objets "Appellation" ont certains attributs : couleur, type, cépage,
type de sol etc...
pour retourner des appellations je fais une recherche dans une bd objet
(db4o).
mais je dois retourner aussi le chemin d'accès à cette appellation car
elle est située géographiquement.
donc, ça donne lieu à d'autre querying dans ma bdo
je dois implémenter une méthode de recherche "appartient à", et, comme
cette relation est de type ensembliste, je pense que les collections
sont le meilleur moyen de représenter cela.
D'où ma question connaissez-vous des tutos sur les Collections Java qui
me permettent de me faire une bonne idée de ce que c'est est de choisir
entre les différents types implémentés.
Pour l'instant j'utilise des ArrayList, peut-^tre pas très
judicieusement )))
Je veux obtenir un système où la relation d'appartenance soit récursive,
par exemple :
l'appellation "Bienvenues-Bâtard-Montrachet" appartient à la sous-région
"Côte de Beaune" elle-même appartenant à la région "Bourgogne"
appartenant au pays "France".
donc quand je retrouve une appellation par ces attributs (couleur du vin
cépage etc...) je veux aussi remonter sa situation géographique qui est
le path de la racine "terre" à la feuille "appellation", c'est pourquoi
je pense au TreeSet...
problème j'ai un Set (TreeSet) soils quand je fais :
if (soils.isEmpty()) System.out.println("soils.isEmpty()"); if (soils.size() > 0) System.out.println(soils.size());
j'ai le résultat, qui me semble contradictoire : soils.isEmpty() 1
par ailleurs sur un Set (TreeSet) avec UN élément : System.out.println(soils); for (Iterator i = soils.iterator(); i.hasNext();) { Soil soil = (Soil) i.next(); System.out.println(soil); if (soil != null) { soilOK = soilPattern.matcher(soil.name).find(); } System.out.println(soilOK); }
j'obtiens la sortie : 1 [Marno-gréseux] donc, je ne rentre pas dans la boucle...
problème j'ai un Set (TreeSet) soils quand je fais :
if (soils.isEmpty()) System.out.println("soils.isEmpty()");
if (soils.size() > 0) System.out.println(soils.size());
j'ai le résultat, qui me semble contradictoire :
soils.isEmpty()
1
par ailleurs sur un Set (TreeSet) avec UN élément :
System.out.println(soils);
for (Iterator i = soils.iterator(); i.hasNext();) {
Soil soil = (Soil) i.next();
System.out.println(soil);
if (soil != null) {
soilOK = soilPattern.matcher(soil.name).find();
}
System.out.println(soilOK);
}
j'obtiens la sortie :
1
[Marno-gréseux]
donc, je ne rentre pas dans la boucle...
problème j'ai un Set (TreeSet) soils quand je fais :
if (soils.isEmpty()) System.out.println("soils.isEmpty()"); if (soils.size() > 0) System.out.println(soils.size());
j'ai le résultat, qui me semble contradictoire : soils.isEmpty() 1
par ailleurs sur un Set (TreeSet) avec UN élément : System.out.println(soils); for (Iterator i = soils.iterator(); i.hasNext();) { Soil soil = (Soil) i.next(); System.out.println(soil); if (soil != null) { soilOK = soilPattern.matcher(soil.name).find(); } System.out.println(soilOK); }
j'obtiens la sortie : 1 [Marno-gréseux] donc, je ne rentre pas dans la boucle...