Sto praticando l'iterazione dell'elenco quindi mi sono bloccato. La mia domanda è, perché questi due metodi danno risultati diversi.Perché questi due elenchi Iterator si comportano diversamente?
Il primo codice stampa un ciclo infinito. Mentre il secondo, stampa la stringa successiva nell'indice.
Sono nuovo di java, questa è anche la mia prima lingua.
public static void main(String[] args) {
String[] hi = {"yo", "wat", "sup"};
List<String> l1 = new ArrayList(Arrays.asList(hi));
while (l1.iterator().hasNext()) {
System.out.println(l1.iterator().next());
;
}
}
VS
public static void main(String[] args) {
String[] hi = {"yo", "wat", "sup"};
List<String> l1 = new ArrayList(Arrays.asList(hi));
Iterator<String> rator = l1.iterator();
while (rator.hasNext()) {
System.out.println(rator.next());
}
}
Quindi in pratica .iterator è un nuovo iteratore ogni volta che viene eseguito il metodo while? –
@TinLe Sì, lo è. – hexafraction