Home  >  Article  >  Java  >  How to make a collection thread-safe in Java?

How to make a collection thread-safe in Java?

WBOY
WBOYforward
2023-08-31 14:53:06674browse

How to make a collection thread-safe in Java?

The Collections class specializes in handling java.util package methods of collections, which provide various additional operations involving polymorphic algorithms.

This class provides different variants of the synchronizedCollection() method, as shown below-

3
Sr.No Method and description
1 staticCollectionsynchronizedCollection(Collectionc)

This method accepts any collection object and returns a synchronized (thread-safe) collection backed by the specified collection.

2 staticListsynchronizedList(ListList)

This method accepts an object of the List interface and returns a synchronized (thread-safe) list backed by the specified list.

staticMAPsynchronizedMap(MAPmeter)

This method accepts an object of the Map interface and returns a synchronized (thread-safe) map backed by the specified mapping.

4 static SetsynchronizedSet(Set s)

This method accepts an object of the Set interface and returns a synchronized (thread-safe) collection supported by the specified collection.

5 static SortedMap synchronizedSortedMap(SortedMap m)

This method accepts an object of the Map interface and returns a synchronized (thread-safe) sorted map backed by the specified sorted map.

6 staticSortedSetsynchronizedSortedSet(SortedSets)

This method accepts an object of the SynchronizedSortedSet interface and returns a synchronized (thread-safe) sorted set according to the specified sorted set.

Example

Real-time demonstration

import java.util.Collection;
import java.util.Collections;
import java.util.Vector;
public class CollectionReadOnly {
   public static void main(String[] args) {
      //Instantiating an ArrayList object
      Vector<String> vector = new Vector<String>();
      vector.add("JavaFx");
      vector.add("Java");
      vector.add("WebGL");
      vector.add("OpenCV");
      System.out.println(vector);
      Collection<String> synchronizedVector = Collections.synchronizedCollection(vector);
      System.out.println("Synchronized "+synchronizedVector);
      synchronizedVector.add("CoffeeScript");
   }
}

Output

[JavaFx, Java, WebGL, OpenCV]
Synchronized [JavaFx, Java, WebGL, OpenCV]

The above is the detailed content of How to make a collection thread-safe in Java?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete