Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


16.2.3

Implementierungen


Tabelle 16.1 zeigt die im J2SDK 1.4 verfügbaren Implementierungen der Collection Interfaces.

Tabelle 16.1: Collection-Implementierungen in Java
KlasseListSetSortedSetMapSortedMapJDK 1.0
LinkedListX     
ArrayListX     
VectorX    X
HashSet X    
TreeSet XX   
HashMap   X  
WeakHashMap   X  
TreeMap   XX 
Hashtable   X X

Kollektionen sind üblicherweise aus Performance-Gründen nicht synchronisiert. Greifen zwei Iteratoren nebenläufig auf eine Kollektion zu, wird eine ConcurrentModificationException ausgelöst. Hierdurch wird vermieden, dass ein inkonsistenter Zustand der Kollektion für einen zweiten Thread sichtbar wird. Iteratoren, die sich so verhalten, werden auch First-fail-Iteratoren genannt.

Im Paket java.util sind folgende neue Klassen enthalten, die direkt eines der Collection-Interfaces implementieren: Auch[1.2] die beiden Klassen Vector und Hashtable sind seit dem JDK 1.2 Implementierungen der Collection-Interfaces (List bzw. Map). Beide Klassen sind bereits seit der Version 1.0 im JDK enthalten und wurden nachträglich an das Collection-Framework angepasst. Aus diesem Grund sind sie nicht ganz mit obigen Implementierungen gleichzustellen. Zum einen besitzen diese Klassen zusätzlich zu den Methoden der Collection-Interfaces weitere Methoden zum Datenzugriff, die bereits aus historischen Gründen vorhanden waren, zum anderen ist der Zugriff sowohl auf Vector als auch auf Hashtable bereits synchronisiert. Synchronisierte Varianten der oben beschriebenen neuen Implementierungen muss man explizit über die im nächsten Abschnitt beschriebenen Wrapper-Implementierungen anfordern.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.