Forum Programmation.java Java et parcours d'un treeset

Posté par  .
Étiquettes : aucune
0
27
jan.
2010
Bonjour,

J'ai un problème qui peut sembler bête :). J'ai un treeset avec des objets de ma conception et un comparator.

J'aimerais parcourir cette arbre et récupérer l'objet de l'arbre qui est le même q'un autre (si il existe), C'est une recherche en fait.

J'aimerait faire ca bien. Pour le moment mon code utilise headSet et tailSet.

while(set != null){
StringShare node = set.first();
if(node == null) return null;

int res = comp.compare(s, node);

if(res == 0)
return node;
else if(res < 0)
set = set.headSet(node);
else
set = set.tailSet(node);
}


J'ai 2 problemes :
- tailSet retourne l'item courant également et j'ai pas trouve comment passer au suivant :/
- headSet et tailSet ne m'ont pas l'air top, ça recherche l'élément avant d'avoir les éléments précédents ou suivant :/

Est il possible d'avoir un parcours par noeud avec une fct filsDroit() et filsGauche() ?

En faite je ne comprends pas trop comment on est suppose parcourir un treeSet :/
  • # Use iterator Watchwolf<

    Posté par  . Évalué à 4.

    Le treeSet est un conteneur tu peux donc le parcourir en déclarant un itérator ou alors avec la syntaxe java5-style:

    for(Object item: myTreeSet)
    {
    // Le test que tu souhaites faire sur l'élément item (c'est l'élément courant)
    }
  • # interface

    Posté par  . Évalué à 2.

    ton utilisation du Set, y chercher un objet que tu possède déjà par ailleurs, est somme tout bizarre.
    si tu veux savoir si cet objet est dans le Set, tu peux utiliser Set.contains(E objet).

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.