Java中的Collections synchronizedList()方法及其示例
java.util.Collections 类中的 synchronizedList() 方法用于返回由指定列表支持的线程安全的同步列表。为了保证串行访问,要求所有对支持列表的访问都通过返回的列表完成。
语法:
public static <T> List<T>
synchronizedList(List<T> list)
参数:
此方法将列表作为参数,以便将其“包装”在同步列表中。
返回值:
此方法返回指定列表的同步视图。
以下是演示synchronizedList()方法的示例:
示例1:
// Java程序示例,演示String类型值的synchronizedList()方法
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception {
try {
// 创建String类型的List对象
List<String> list = new ArrayList<String>();
// 填充列表
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
// 输出集合
System.out.println("List : " + list);
// 创建一个同步的列表
List<String> synlist = Collections.synchronizedList(list);
// 输出同步列表
System.out.println("Synchronized list is : " + synlist);
}
catch (IllegalArgumentException e) {
System.out.println("Exception thrown : " + e);
}
}
}
List : [A, B, C, D, E]
Synchronized list is : [A, B, C, D, E]
示例2:
// Java程序示例,演示Integer类型值的synchronizedList()方法
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception {
try {
// 创建Integer类型的List对象
List<Integer> list = new ArrayList<Integer>();
// 填充列表
list.add(20);
list.add(30);
list.add(40);
list.add(50);
list.add(60);
// 输出集合
System.out.println("List : " + list);
// 创建一个同步的列表
List<Integer> synlist = Collections.synchronizedList(list);
// 输出同步列表
System.out.println("Synchronized list is : " + synlist);
}
catch (IllegalArgumentException e) {
System.out.println("Exception thrown : " + e);
}
}
}
List : [20, 30, 40, 50, 60]
Synchronized list is : [20, 30, 40, 50, 60]