PDA

View Full Version : [JAVA] Iteratori...


Fire Fox II
01-02-2005, 23:52
Salve raga :)

mi servirebbe una mano x risolvere un problema con gli iteratori...

Allora, io ho un'interfaccia ObjectIterator composta da

public boolean hasNext();
public Object nextObject();

Ora avendo questa porzione di codice



public static void printVector (Vector vec)
{
ObjectIterator iter = vec.iterator();
while (iter.hasNext())
{
System.out.println(iter.nextObject());
}
}



il metodo iterator, come dovrebbe essere strutturato? :confused:

akyra
02-02-2005, 08:55
ma per strutturato intendi che vorresti sapere com'è implementato?

Fire Fox II
02-02-2005, 09:18
Ehm, si

:)

Angus
02-02-2005, 12:09
Per esempio:


interface ObjectIterator {
public boolean hasNext();
public Object nextObject();
}

class Vector {
private String[] s = { "ciccio", "nonna papera", "topolino", "pippo" };

public ObjectIterator iterator() {
return new ObjectIterator() {
public boolean hasNext() {
return nextIndex < s.length;
}

public Object nextObject() {
return s[nextIndex++];
}

private String[] s = Vector.this.s;
private int nextIndex = 0;
};
}
}

public class IteratorTest {

public static void main(String[] args) {
Vector v = new Vector();
for (ObjectIterator i = v.iterator(); i.hasNext(); ) {
System.out.println(i.nextObject());
}
}

}

akyra
02-02-2005, 18:08
come puoi vedere quello che vuole dire il nostro amico Angus è che l'implementazione di un iteratore la fai tu, se te ne serve uno particolare, oppure puoi usare quelli già definiti, come ad esempio ListIterator per gli iteratori sulle liste....anche se l'implementazione è del tutto simile...

Angus
03-02-2005, 08:24
Originariamente inviato da akyra
il nostro amico Angus

:mano: :cincin:

akyra
03-02-2005, 12:36
hai dimenticato :ubriachi:

Fire Fox II
03-02-2005, 19:57
Beh, grazie raga ;)

E scusate la domanda stupida :p

Angus
03-02-2005, 22:33
Originariamente inviato da Fire Fox II
Beh, grazie raga ;)

E scusate la domanda stupida :p

Prego! La domanda non era abbastanza stupida da non meritarsi una risposta, anzi!