Video: Curso Java 08 - Bucle for @JoseCodFacilito 2024
Een Java-iterator spuwt de waarden van een verzameling, de een na de ander. Om een waarde uit de verzameling te verkrijgen, roept u de iterator
volgende
-methode aan. Om erachter te komen of de verzameling meer waarden bevat, roept u de
hasNext
-methode van iterator aan. De onderstaande code gebruikt een iterator om de namen van mensen weer te geven.
Hier is wat code voor het itereren door een verzameling.
statische java importeren. Lang. Systeem. uit;
java importeren. util. iterator;
java importeren. util. Scanner;
java importeren. io. Het dossier;
java importeren. io. IOException;
java importeren. util. ArrayList;
public class ShowNames {
public static void main (String args []) gooit IOException {
ArrayList
Scanner diskScanner = nieuwe scanner (nieuw bestand ("names. Txt"));
while (diskScanner. HasNext ()) {
mensen. voeg toe (diskScanner. nextLine ());
}
mensen. Verwijder (0);
mensen. add (2, "Jim Newton");
Iterator-iterator = mensen. iterator ();
while (iterator. HasNext ()) {
uit. println (iterator. next ());
}
diskScanner. dichtbij();
}
}
U kunt de enhanced
voor
vervangen door de vetgedrukte code hierboven. Wanneer u dat doet, krijgt u dezelfde uitvoer als voorheen. De eerste vetgedrukte coderegel maakt een iterator uit de verzameling
personen
. De tweede en derde regel noemen de iterator
hasNext
en
volgende
methoden om alle objecten te grijpen die zijn opgeslagen in de
personen
-collectie - één voor elke iteratie van de lus. In deze regels worden alle waarden van de verzameling
personen
weergegeven.
Wat is beter? Een verbeterde
voor
lus of een iterator? Java-programmeurs geven de voorkeur aan de verbeterde
voor
lus omdat de lus
voor
minder bagage bevat - geen
iterator
-object om van de ene regel code naar de volgende te gaan. Maar de meest programmeer-verbeterde functie kan worden geüpgraded, gestroomlijnd, geknepen en anderszins opnieuw samengesteld. Er is geen einde aan de manier waarop u uw code kunt verbeteren.