Sobes.tech
Middle

Welche Datenstrukturen in Java sind synchronisiert und welche nicht?

sobes.tech KI

Antwort von AI

In Java sind einige Datenstrukturen synchronisiert (thread-sicher), andere nicht.

Synchronisierte:

  • Vector — synchronisierte Version von ArrayList.
  • Hashtable — synchronisierte Version von HashMap.
  • Stack — erbt von Vector, daher ebenfalls synchronisiert.
  • Sammlungen, die mit Collections.synchronizedList(), synchronizedMap() usw. eingebunden sind.
  • Klassen aus dem Paket java.util.concurrent, z.B. ConcurrentHashMap, CopyOnWriteArrayList.

Nicht synchronisierte:

  • ArrayList
  • LinkedList
  • HashMap
  • HashSet

Wenn Sie eine nicht synchronisierte Sammlung in einer Multithread-Umgebung verwenden möchten, können Sie sie mit Hilfe von Methoden aus Collections synchronisieren oder spezielle Klassen aus java.util.concurrent verwenden.

Beispiel:

List<String> list = Collections.synchronizedList(new ArrayList<>());