wie funktioniert Iterator in Java?

2 Antworten

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