Les Allergies
Alimentaires
Posez votre question Signaler

[JAVA] Iterator dans Liste avec Node

hyper - Dernière réponse le 31 déc. 2009 à 15:20
Bonjour,
je désir parcourir ma liste chainée, sans utiliser les méthodes d'une LinkedList, à l'aide d'un itérateur qui parcourerait les différends noeuds.
Voici mon code:
-------------------------------------------------------------------------
import java.util.*;
/**
* Write a description of class ListNode here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class ListNode
{
//v d'instance
private Node first;
private Node last;
private int size;
//ma classe de noeuds
public class Node {
CD element;
Node next;
}
//Constructeur d'une liste vide
public ListNode (){
this.first=null;
this.last=null;
this.size=0;
}
//Ajout d'un élément dans la liste
public void add (CD e) {
if (first==null) {
Node newNode = new Node ();
newNode.element = e;
first=newNode;
last=first;
size++;
}
Node curent = first;
while (curent.next != null) {
curent = curent.next;
}
Node lastNode = new Node ();
curent.next=lastNode;
lastNode.element = e;
size++;
}
//Affiche l'entièreté des éléments (des CD) contenu dans ma liste
public void show () {
if (first==null) {}
Iterator <Node> it = first.iterator();
while (it.hasNext()){
System.out.println (it.element.next());}
}
}-----------------------------------------------------------------------------------------
l'erreur se situe dans la méthode show, il ne reconnait pas la méthode iterator()
Pour l'affichage, ça devrait allé ? Je peux aller rechercher mon element de puis l'itérateur qui parcours les noeuds ?
merci de votre aide
Lire la suite 

[JAVA] Iterator dans Liste avec Node »

1 réponses
Réponse
+0
moins plus
first.iterator();


first est de type Node.

Ta classe Node ne possède aucune méthode qui s'appelle Iterator. Les structures de données de base de JAva en possèdent une, mais si tu n'as pas le droit de les utiliser alors il va falloir coder ta propre méthode "iterator()".

D'autre part, ça m'étonnerai que ce que tu souhaites faire est d'avoir un noeud qui renvoie un iterateur. Ce serait plutot la liste ListNode elle-même qui devrait pouvoir en fournir un, qui pointerait vers le premier ou le dernier au départ.
Ajouter un commentaire
Ce document intitulé « [JAVA] Iterator dans Liste avec Node » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?