Heim  >  Artikel  >  Java  >  Auf wie viele Arten kann ich eine ArrayList in Java synchronisieren?

Auf wie viele Arten kann ich eine ArrayList in Java synchronisieren?

WBOY
WBOYnach vorne
2023-08-28 17:41:02942Durchsuche

在Java中,有几种方法可以同步一个ArrayList?

ArrayList ist eine Unterklasse der AbstractList-Klasse, die zum Speichern von Elementen einer dynamisch dimensionierten-Sammlung verwendet werden kann. ArrayList vergrößert sich, um neue Elemente aufzunehmen, und verkleinert sich, wenn Elemente entfernt werden, daher der Name resizable oder dynamisches Array. ArrayList kann doppelte Werte und Nullwerte zulassen .

Es gibt zwei Methoden zum Synchronisieren von ArrayList in Java:

Collections.synchronizedList()-Methode

synchronizedList()-Methode wird zum Synchronisieren von Sammlungen in Java verwendet.

Syntax

public static List<T> synchronizedList(List<T> list)

Beispiel

import java.util.*;
public class SynchronizedListTest {
   public static void main(String[] args) {
      List<String> list = new ArrayList<String>();
      list.add("IND");
      list.add("AUS");
      list.add("WI");
      list.add("NZ");
      list.add("ENG");
      List<String> synlist = Collections.<strong>synchronizedList</strong>(list);
      <strong>synchronized</strong>(synlist) {
         Iterator<String> itr = synlist.iterator();
         while(itr.hasNext()) {
            String str = itr.next();
            System.out.println(str);
         }
      }
   }
}

Ausgabe

IND
AUS
WI
NZ
ENG

CopyOnWriteArrayList

CopyOnWriteArrayList erstellt eine Liste von Elementen in der angegebenen Sammlungsreihenfolge. Es ist „Thread-sicher“ für ArrayList mit gleichzeitigem Zugriff. Wenn eine ArrayList geändert wird, wird eine neue Kopie des zugrunde liegenden Arrays erstellt. Syntax

public class CopyOnWriteArrayList<E> extends Object implements List<E>, RandomAccess, Cloneable, Serializable

Beispiel

import java.util.*;
import java.util.concurrent.*;
public class CopyOnWriteArrayListTest {
   public static void main(String[] args) {
      <strong>CopyOnWriteArrayList </strong>list = new <strong>CopyOnWriteArrayList</strong>();
      list.add("Java");
      list.add("Scala");
      list.add("Python");
      list.add("Selenium");
      list.add("ServiceNow");
      System.out.println("Displaying synchronized ArrayList: ");
      Iterator itr = list.iterator();
      while(itr.hasNext()) {
         String str = itr.next();
         System.out.println(str);
      }
   }
}

Ausgabe

Displaying synchronized ArrayList:
Java
Scala
Python
Selenium
ServiceNow

Das obige ist der detaillierte Inhalt vonAuf wie viele Arten kann ich eine ArrayList in Java synchronisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen