- Collection
Daten werden in einer Struktur gehalten. Es können Elemente hinzugefügt
und entfernt werden. Es gibt mit dem Iterator eine Möglichkeit, alle
Elemente zu durchlaufen. Aus dem Datenbehälter kann ein Array erzeugt werden.
- List modelliert Listen mit einer Reihenfolge.
- Set stellt eine Menge dar, deren Elemente keine Reihenfolge haben, aber nur einmal auftreten.
- Queue realisiert Warteschlangen.
- Map modelliert assoziierte Speicher, bei denen Elemente gezielt über einen Schlüssel adressiert werden können.
Interface: Collection und Iterator
Von Collection erben List, Queue und Set beispielsweise die Methode add.- boolean add(E e)
add fügt dem Container ein Element hinzu. - boolean remove(E e)
Mit remove kann ein übergebenes Objekt wieder entfernt werden. - void clear()
Die Methode clear löscht alle Elemente auf einmal. - boolean contains(E o)
Die Methode contains ermittelt, ob das übergebene Objekt im Container enthalten ist. - int size()
Die Methode size liefert die Anzahl der enthaltenen Elemente. - Object toArray()
Die Methode toArray liefert ein Array, das alle Elemente des Containers enthält. - Iterator iterator()
Die Methode iterator eines Containers liefert seinen Iterator. Diesen wollen wir uns etwas näher ansehen.
Iterator
Jeder Container hat seinen eigenen Iterator, der zunächst vor dem ersten Element steht. Er wird über den Aufruf der Methode iterator() erzeugt werden. Der Iterator hat eigene Methoden.- E next()
Die Methode next liefert das nächste Element. - boolean hasNext()
Die Methode hasNext des Containers gibt an, ob es überhaupt ein nächstes Element für den Iterator gibt. - void remove()
Mit der Methode remove wird das Element gelöscht, auf das der Iterator verweist.
Das Interface List
Das Interface List erbt die Methoden von Collection und fügt neue hinzu. List fügt einer Collection vor allem hinzu, dass die Elemente in einer Reihenfolge abgelegt werden. Darum ist es möglich über eine Positionsnummer auf die Elemente zuzugreifen und nicht nur per Iterator.- E get(int index)
Die Methode get liefert das Element an der Position index. - E set(int index, E element)
Das Element an der Position index wird durch das übergebene Element ersetzt. - void add(int index, E element)
Ein neues Element wird an der Position index eingefügt. - E remove(int index)
Das Element an der Position index wird entfernt. - int indexOf(Object o)
Die Methode indexOf liefert die Postion, an der das übergebene Objekt zu finden ist. - int lastIndexOf(Object o)
Die Methode lastIndexOf liefert die letzte Postion, an der das übergebene Objekt in der Liste zu finden ist. - ListIterator
listIterator()
Die Liste liefert durch den Aufruf listIterator einen speziell auf die Liste zugeschnittenen Iterator. - ListIterator
listIterator(int index)
Durch Angabe der Position kann auch ein Iterator erlangt werden, der an beliebiger Stelle in die Liste verweist. - List
subList(int from, int to)
Die Methode subList liefert eine Liste, die eine Ansicht auf einen Teil der Liste darstellt. Begrenzt wird sie durch Anfangs- und Endposition.
Das Interface Queue
Dieses Interface bietet die Methoden für eine Warteschlange.- boolean add(E e)
add fügt dem Container ein Element hinzu und wirft bei Versagen eine Exception. - boolean offer(E e)
offer fügt dem Container ein Element hinzu und liefert bei Versagen false zurück. - E remove()
remove entnimmt dem Container ein Element und wirft bei Versagen eine Exception. - E poll()
poll entnimmt dem Container ein Element und liefert bei Versagen null zurück. - E element()
element entnimmt das nächste Element des Containers ohne es zu entfernen und wirft bei Versagen eine Exception. - E peek()
peek entnimmt das nächste Element des Containers ohne es zu entfernen und liefert bei Versagen null zurück.
Das Interface Set
Das Set ist ein Container dessen Elemente nur einmal vorkommen. In diesem Sinne entsprechen ein Set der mathematischen Menge. Die Reihenfolge der Elemente ist zunächst nicht interessant.- int size()
Die Methode size liefert die Anzahl der Elemente des Sets. - boolean isEmpty()
isEmpty liefert die Information, ob die Menge leer ist.
Das Interface Map
Maps eignen sich vor allem zum Auffinden von Elementen über einen Schlüssel. Schlüssel und Element werden separat als Parameter übergeben. Der Schlüssel muss eindeutig sein. Doppelungen sind also nicht erlaubt. Man könnte eine Map als Modellierung einer mathematischen Funktion betrachten.- E put(K key, E e)
Die Methode fügt einen Schlüssel mit dem dazugehörigen Element ein. - E get(K key)
Die Methode liefert das zu dem Schlüssel gehörige Element. - E remove(K key)
Die Methode löscht das zu dem Schlüssel gehörige Element. - boolean containsKey(Object key)
Die Methode prüft, ob der angegebene Schlüssel enthalten ist. - boolean containsValue(Object value)
Die Methode prüft, ob das angegebene Element enthalten ist. - int size()
Die Methode liefert die Anzahl der Elemente. - boolean isEmpty()
Die Methode prüft, ob die Map leer ist.
Maps werden als HashMap, als TreeMap oder als LinkedHashMap implementiert. Der Container Hashtable ist keine Implemenation von Map, sondern sollte durch HashMap abgelöst werden.