Eine java.util.Collection ist ein Interface für eine Sammlung von Daten. Das Collection-Interface bietet keine Möglichkeit, indiziert auf die Elemente der Collection zuzugreifen. Das Collection-Interface implementiert das Iterable-Interface und ermöglicht damit den Zugriff auf alle Elemente der Collection.
Datenstrukturen die das Collection-Interface implementieren sind: List, Set, Queue, …
Im folgenden Beispiel wird gezeigt, wie man mit einem Iterator über eine Collection iteriert:
Collection<Integer> c = new HashSet<>();
c.add(123);
c.add(456);
Iterator<?> it = c.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
Eine einfachere Möglichkeit über eine Collection zu iterieren ist die verkürzte for-Schleife. Auch hier wird intern mit einem Iterator gearbeitet.
for (Integer n : c) {
System.out.println(n);
}
Auch die List implementiert das Collection-Interface und bietet darüber hinaus die Möglichkeit, indiziert (wie bei einem Array) auf die Daten zuzugreifen:
List<Integer> li = new ArrayList<>();
li.add(123);
li.add(456);
for (int i = 0; i < li.size(); i++) {
System.out.println(li.get(i));
}
