Open In App

Collections synchronizedList() method in Java with Examples

Last Updated : 08 Oct, 2018
Improve
Improve
Like Article
Like
Save
Share
Report

The synchronizedList() method of java.util.Collections class is used to return a synchronized (thread-safe) list backed by the specified list. In order to guarantee serial access, it is critical that all access to the backing list is accomplished through the returned list.

Syntax:

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

Parameters: This method takes the list as a parameter to be “wrapped” in a synchronized list.

Return Value: This method returns a synchronized view of the specified list.

Below are the examples to illustrate the synchronizedList() method

Example 1:




// Java program to demonstrate
// synchronizedList() method for Integer Value
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {
  
        try {
  
            // creating object of List<Integer>
            List<Integer> list = new ArrayList<Integer>();
  
            // populate the list
            list.add(20);
            list.add(30);
            list.add(40);
            list.add(50);
            list.add(60);
  
            // printing the Collection
            System.out.println("List : " + list);
  
            // create a synchronized list
            List<Integer> synlist = Collections
                                        .synchronizedList(list);
  
            // printing the Collection
            System.out.println("Synchronized list is : " + synlist);
        }
  
        catch (IllegalArgumentException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}


Output:

List : [A, B, C, D, E]
Synchronized list is : [A, B, C, D, E]

Example 2:




<div id="highlighter_274453" class="syntaxhighlighter nogutter  "><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="comments">// Java program to demonstrate </code></div><div class="line number2 index1 alt1"><code class="comments">// synchronizedList() method for Integer Value </code></div><div class="line number3 index2 alt2"><code class="undefined spaces"> </code> </div><div class="line number4 index3 alt1"><code class="keyword">import</code> <code class="plain">java.util.*; </code></div><div class="line number5 index4 alt2"><code class="undefined spaces"> </code> </div><div class="line number6 index5 alt1"><code class="keyword">public</code> <code class="keyword">class</code> <code class="plain">GFG1 { </code></div><div class="line number7 index6 alt2"><code class="undefined spaces">    </code><code class="keyword">public</code> <code class="keyword">static</code> <code class="keyword">void</code> <code class="plain">main(String[] argv) </code></div><div class="line number8 index7 alt1"><code class="undefined spaces">        </code><code class="keyword">throws</code> <code class="plain">Exception </code></div><div class="line number9 index8 alt2"><code class="undefined spaces">    </code><code class="plain">{ </code></div><div class="line number10 index9 alt1"><code class="undefined spaces"> </code> </div><div class="line number11 index10 alt2"><code class="undefined spaces">        </code><code class="keyword">try</code> <code class="plain">{ </code></div><div class="line number12 index11 alt1"><code class="undefined spaces"> </code> </div><div class="line number13 index12 alt2"><code class="undefined spaces">            </code><code class="comments">// creating object of List<Integer> </code></div><div class="line number14 index13 alt1"><code class="undefined spaces">            </code><code class="plain">List<Integer> list = </code><code class="keyword">new</code> <code class="plain">ArrayList<Integer>(); </code></div><div class="line number15 index14 alt2"><code class="undefined spaces"> </code> </div><div class="line number16 index15 alt1"><code class="undefined spaces">            </code><code class="comments">// populate the list </code></div><div class="line number17 index16 alt2"><code class="undefined spaces">            </code><code class="plain">list.add(</code><code class="value">20</code><code class="plain">); </code></div><div class="line number18 index17 alt1"><code class="undefined spaces">            </code><code class="plain">list.add(</code><code class="value">30</code><code class="plain">); </code></div><div class="line number19 index18 alt2"><code class="undefined spaces">            </code><code class="plain">list.add(</code><code class="value">40</code><code class="plain">); </code></div><div class="line number20 index19 alt1"><code class="undefined spaces">            </code><code class="plain">list.add(</code><code class="value">50</code><code class="plain">); </code></div><div class="line number21 index20 alt2"><code class="undefined spaces">            </code><code class="plain">list.add(</code><code class="value">60</code><code class="plain">); </code></div><div class="line number22 index21 alt1"><code class="undefined spaces"> </code> </div><div class="line number23 index22 alt2"><code class="undefined spaces">            </code><code class="comments">// printing the Collection </code></div><div class="line number24 index23 alt1"><code class="undefined spaces">            </code><code class="plain">System.out.println(</code><code class="string">"List : "</code> <code class="plain">+ list); </code></div><div class="line number25 index24 alt2"><code class="undefined spaces"> </code> </div><div class="line number26 index25 alt1"><code class="undefined spaces">            </code><code class="comments">// create a synchronized list </code></div><div class="line number27 index26 alt2"><code class="undefined spaces">            </code><code class="plain">List<Integer> synlist = Collections </code></div><div class="line number28 index27 alt1"><code class="undefined spaces">                                        </code><code class="plain">.synchronizedList(list); </code></div><div class="line number29 index28 alt2"><code class="undefined spaces"> </code> </div><div class="line number30 index29 alt1"><code class="undefined spaces">            </code><code class="comments">// printing the Collection </code></div><div class="line number31 index30 alt2"><code class="undefined spaces">            </code><code class="plain">System.out.println(</code><code class="string">"Synchronized list is : "</code> <code class="plain">+ synlist); </code></div><div class="line number32 index31 alt1"><code class="undefined spaces">        </code><code class="plain">} </code></div><div class="line number33 index32 alt2"><code class="undefined spaces"> </code> </div><div class="line number34 index33 alt1"><code class="undefined spaces">        </code><code class="keyword">catch</code> <code class="plain">(IllegalArgumentException e) { </code></div><div class="line number35 index34 alt2"><code class="undefined spaces">            </code><code class="plain">System.out.println(</code><code class="string">"Exception thrown : "</code> <code class="plain">+ e); </code></div><div class="line number36 index35 alt1"><code class="undefined spaces">        </code><code class="plain">} </code></div><div class="line number37 index36 alt2"><code class="undefined spaces">    </code><code class="plain">} </code></div><div class="line number38 index37 alt1"><code class="plain">} </code></div></div></td></tr></tbody></table></div>


Output:

List : [20, 30, 40, 50, 60]
Synchronized list is : [20, 30, 40, 50, 60]


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads