14. august 2003 - 09:42
Der er
7 kommentarer og 1 løsning
Iterator vs "almen" forløkke
Hejsa, bare lige et lille spørgsmål her. Hvad er mest effektiv og mest rigtig af de understående eks? 1) Iterator iter; for(iter = arraylist.Iterator(); iter.next();){ ObjektInstans oI= (ObjektInstans) iter.next(); //do something... } 2) for(int i=0; i<arraylist.size();i++){ ObjektInstans oI= (ObjektInstans) iter.next(); //do something... } Jeg ved godt at det måske ikke lige er det der er meningen med brugen af iterator, og det er vel også 1) som er mindst effektiv da iter skal initialiseres... eller? mvh Torben
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
14. august 2003 - 09:54
#1
Ingen vil jeg sige. Iterator iter; while(iter.hasNext()) { ObjektInstans oI= (ObjektInstans) iter.next(); //do something... } må være den korrekte brug af iterator.
14. august 2003 - 09:55
#2
Iterator iter = arraylist.iterator(); while(iter.hasNext()) { ObjektInstans oI= (ObjektInstans) iter.next(); //do something... }
14. august 2003 - 10:02
#3
okey, så kan man jo ligeså godt bare holde sig til en 2) hvis man blot skal gennemløbe dataene i "et hug". Tak for svaret, mvh Torben
14. august 2003 - 10:22
#4
Jeg synes at #2 bruger en uheldig tæt kobling mellem arraylist og iterator.
14. august 2003 - 10:24
#5
hov det havde jeg ikke set, det var en fejl! Der skulle have stået: 2) for(int i=0; i<arraylist.size();i++){ ObjektInstans oI= (ObjektInstans); //do something... } var lige lidt for hurtig med copy/paste der fra 1) Men det ændre vel ikke på dit svar...?
14. august 2003 - 10:50
#6
Iterator iter = arraylist.iterator(); while(iter.hasNext()) { ObjektInstans oI= (ObjektInstans) iter.next(); //do something... } er fint. for(int i=0; i<arraylist.size();i++){ ObjektInstans oI= (ObjektInstans)arraylist.get(i); //do something... } er fint. Fordi der blander man ikke arraylist og iterator.
14. august 2003 - 10:51
#7
for(Iterator iter = arraylist.Iterator(); iter.hasNext();){ ObjektInstans oI= (ObjektInstans) iter.next(); //do something... } kan også bruges selvom jeg selv bruger konstruktionen.
14. august 2003 - 11:05
#8
Det lyder godt, tak for hjælpen.
Kurser inden for grundlæggende programmering