Java中的Collections synchronizedCollection()方法及其示例

Java中的Collections synchronizedCollection()方法及其示例

java.util.Collections 类中的 synchronizedCollection() 方法用于返回一个由指定集合支持的同步(线程安全)集合。为了保证串行访问,必须通过返回的集合完成对支持集合的所有访问。

语法:

public static <T> Collection<T>
  synchronizedCollection(Collection<T> c)

参数: 此方法将 collection c 作为将“包装”成同步集合的参数。

返回值: 此方法返回指定集合的 同步视图

以下是说明 synchronizedCollection()方法的示例

示例1:

//Java演示程序,用于演示String值的synchronizedCollection()方法
 
import java.util.*;
 
public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {
 
        try {
 
            //创建List<String>对象
            List<String> vector = new ArrayList<String>();
 
            //填充向量
            vector.add("A");
            vector.add("B");
            vector.add("C");
            vector.add("D");
            vector.add("E");
 
            //打印集合
            System.out.println("Collection : " + vector);
 
            //获取集合的同步视图
            Collection<String> c = Collections
                                       .synchronizedCollection(vector);
 
            //打印集合
            System.out.println("Synchronized view"
                               + " of collection : " + c);
        }
 
        catch (IndexOutOfBoundsException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}

输出

Collection : [A, B, C, D, E]
Synchronized view of collection : [A, B, C, D, E]

示例2:

// Java程序,用于演示Integer值的synchronizedCollection()方法
 
import java.util.*;
 
public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {
 
        try {
 
            //创建List<String>对象
            List<Integer> vector = new ArrayList<Integer>();
 
            //填充向量
            vector.add(20);
            vector.add(30);
            vector.add(40);
            vector.add(50);
            vector.add(60);
 
            //打印集合
            System.out.println("Collection : " + vector);
 
            //获取集合的同步视图
            Collection<Integer> c = Collections
                                        .synchronizedCollection(vector);
 
            //打印集合
            System.out.println("Synchronized view is : " + c);
        }
 
        catch (IllegalArgumentException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}

输出:

Collection : [20, 30, 40, 50, 60]
Synchronized view is : [20, 30, 40, 50, 60]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程