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)); }