Sammlungen, zusammengefasst im
Java Collections Framework stellen
eine Ansammlung
generischer Interfaces dar, die Datentypen
definieren, die es erlauben, eine Menge an Objekten als Einheit zu behandeln.
Die Einträge stellen hierbei Referenzen auf die eigentlichen Objekte
dar.
Das Wurzel-Interface
Collection erweitert das Interface
java.lang.Iterable<E>,
das es erlaubt, eine Collection zu durchwandern und auf deren einzelne
Elemente zuzugreifen.
Einen Überblick über die
Haupt-Interfaces des Collection-Framework geben das u.a. Diagramm und die
nachfolgende Tabelle.
| List<E> |
Geordnete Abfolge von Elementen, die auch doppelt vorhanden sein
dürfen und die eine definierten Position innerhalb der List
einnehmen. |
| Queue<E> |
Abfolge von Elementen, die nach dem FIFO-Prinzip (First-In, First-Out)
gehandhabt werden. |
| Deque<E> |
Abfolge von Elementen, die das Einfügen und Entfernen von
Elementen an beiden Enden ermöglicht. |
| Set<E> |
Sammlung von Elementen, die der mathematischen Menge entspricht und
somit keine doppelten Elemente enthalten darf. |
| SortedSet<E> |
Ein Set, das die Elemente in
natürlicher Ordnung sortiert enthält. |
| NavigableSet<E> |
Erweitert und ersetzt SortedSet.
NavigableSet stellt Methoden bereit, die den Eintrag mit der
größten Ähnlichkeit zu einem gesuchten Objekt ermitteln. |
| Map<K,V> |
Abfolge von Elementen, bei denen je ein Schlüssel (Key) einem Wert
(Value) zugewiesen ist. Der Schlüssel kann nicht doppelt vorhanden
sein. |
| SortedMap<E> |
Eine Map, deren Elemente in
natürlicher Ordnung der Keys sortiert sind. |
| NavigableMap<E> |
Erweitert und ersetzt SortedMap. Sie
stellt Methoden bereit, die den Eintrag mit der größten
Ähnlichkeit zu einem gesuchten Objekt ermitteln. |
Collections durchlaufen
Collections können auf zwei Weisen durchlaufen werden, die ihre
jeweiligen Vor- und Nachteile besitzen.
Basis-Operationen
Die Basis-Operationen aller Collections dienen der Behandlung der Inhalte:
| boolean collA.contains(Object obj) |
Liefert true wenn obj in collA
enthalten ist. |
| boolean collA.add(Object obj) |
Liefert true wenn obj erfolgreich in collA
eingefügt wurde. |
| boolean collA.remove(Object obj) |
Liefert true wenn obj erfolgreich aus collA
entfernt wurde. |
| boolean collA.isEmpty() |
Liefert true wenn collA keine Schlüssel enthält. |
| int collA.size() |
Liefert die Anzahl der Einträge in collA. |
Bulk-Operationen
Bulk-Operationen führen Vorgänge auf Collections als ganzes aus.
| boolean collA.containsAll(collB) |
Liefert true wenn alle Einträge aus
collB in collA
enthalten sind. |
| boolean collA.addAll(collB) |
Fügt die Menge aller Einträge aus collB
in collA ein. |
| boolean collA.removeAll(collB) |
Entfernt die Menge aller Einträge aus collB
aus collA. |
| boolean collA.retainAll(collB) |
Liefert die Schnittmenge aus collB und collA als collA. |
| void collA.clear() |
Entfernt alle Einträge aus collA. |