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.
- for-each-Konstrukt
for (Object o : collection) { tuWasMit(o); }
Der Quelltext führt die MethodetuWasMit()
auf jedem Element voncollection
aus. - Iterator
Ein Iterator erlaubt es ebenfalls, eine Collection von vorne nach hinten zu durchlaufen. Er erlaubt es darüber hinaus als einzige sichere Methode, ein Element zur Iterationszeit aus der Sammlung zu entfernen. Für weitere Informationen siehe Iterator.
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 .
|
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.