wie funktioniert Iterator in Java?
ArrayList<Integer> l1 = new ArrayList<>();
l1.add(2);
l1.add(3);
System.out.println(l1.iterator());
Ich will dass alles von l1 geprintet wird.
2 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Physik
wie jo135 schon geschrieben hat, braucht man für einen einfachen Loop keinen Iterator. Iteratoren werden erst interessant, wenn man Objekte braucht, die sich merken, wo im Array sie waren, besonders wenn man auf einem Array mehrere solche voneinander unabhängige "Kletterer" braucht, die daran auf und ab navigieren.
Ich will dass alles von l1 geprintet wird.
Ein Iterator hilft dir beim Iterieren in bestimmten Fällen. Das musst du aber immer noch selbst machen.
jshell> ArrayList<Integer> l1 = new ArrayList<>();
...> l1.add(2);
...> l1.add(3);
l1 ==> []
$2 ==> true
$3 ==> true
jshell> var it = l1.iterator();
it ==> java.util.ArrayList$Itr@34c45dca
jshell> while(it.hasNext()) {
...> System.out.println(it.next());
...> }
2
3
In aller Regel ist es aber heute sinnvoller, das moderne for-Statement ("foreach") zu verwenden. Oder Streams. Oder die foreach()-Methode des List-Interfaces:
jshell> l1.forEach(System.out::println)
2
3