|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jul 2004
Messaggi: 26
|
Java2: problema sull'iterator
Salve, sono uno studente di ingegneria informatica,I anno. Sono alle prese con l'esame di programmazione orientata agli oggetti e c'è un dubbio che non riesco a chiarirmi riguardo il metodo iterator che restituisce un iterator sulla lista che invoca il metodo stesso. ora, se ho a che fare con liste facenti parte delle collections di java2 quali linked list, array list e set, per aprire un iteratore basta fare iterator it=(nome lista).iterator(); ed avere così a disposizione un iteratore it con cui poter scandire la lista. ma se ho a che fare con liste a puntatori espliciti e mappe, oltre ad aprire l'iteratore(per le mappe sui valori), devo anche implementare metodi proprio di iterator quali next(), hasNext() e remove??? qualsiasi consiglio è gradito.
grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
non ho chiarissimo quello che chiedi.
qualuque classe implementi Collection deve implementare il metodo iterator(), nel quale verrà restituita un'istanza di una classe che implementa Iterator. se implementi una tua Collection dovrai implementare anche un tuo Iterator (scritto ad hoc per "navigare" i membri della tua classe). |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Jul 2004
Messaggi: 26
|
so esattamente che se sto usando una linked list, chiamando il metodo iterator() posso "navigare" sulla lista, con i suoi metodi quali next() hasNext() e remove(), ma se per esempio sto usando una lista concatenata a puntatori espliciti e mi viene chiesto di creare un metodo che restituisca un iteratore su questa lista, ad esempio: public Iterator iterator(){...}
oltre a fare una cosa del tipo return nomelista.iterator(), devo poi, essendo su una lista concatenata a puntatori espliciti, implementare anche i metodi di next(), hasNext() e remove(), adattandoli alla lista a puntatori espliciti, per poterli poi utilizzare sulla lista stessa? |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
Quote:
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
|
![]() |
![]() |
![]() |
#5 |
Junior Member
Iscritto dal: Jul 2004
Messaggi: 26
|
hai presente le linked list? Le liste a puntatori espliciti non sono altro che una versione "casereccia" delle linked list. è un pò la stessa cosa dei vettori e degli arraylist. se la cosa ti interessa posso mandarti qualche esempio su come costruirtela e lavorarci su.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:23.