Java只读集合与同步集合
2015-02-09 11:42
176 查看
直接上代码:
如果试图对只读集合进行添加或修改,将会抛出UnsupportedOperationException异常:
如果不希望方法返回的集合被修改,就可以使用只读集合;如果想要获取线程安全的集合,就可以使用同步集合。
只读集合:
同步集合:
package com.xs.collection; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class ReadOnly { /** * @param args */ public static void main(String[] args) { List<String> list = new ArrayList<String>() { private static final long serialVersionUID = 1L; { add("Tom"); add("Jim"); add("Jhon"); } }; // 只读集合 List<String> readOnlyList = Collections.unmodifiableList(list); System.out.println(readOnlyList.getClass()); // 同步集合 List<String> synchronizedList = Collections.synchronizedList(list); System.out.println(synchronizedList.getClass()); } }
如果试图对只读集合进行添加或修改,将会抛出UnsupportedOperationException异常:
public E set(int index, E element) { throw new UnsupportedOperationException(); }
如果不希望方法返回的集合被修改,就可以使用只读集合;如果想要获取线程安全的集合,就可以使用同步集合。
只读集合:
同步集合:
相关文章推荐
- Java集合HashSet-ArrayList-HashMap的线程同步控制方法和区别
- 传统集合类在并发访问时的问题及Java5提供的同步集合类
- 19-java5同步集合类
- java基础之集合框架——Collections-同步和非同步
- java学习笔记之容器的同步与只读控制
- (14)多线程与并发库之java5同步集合类的应用【包含jdk1.5新特性 ConcurrentHashMap】
- Java并发库(十九):同步集合类的使用BlockingQueue、
- java5同步集合类的应用(十九)
- Java线程(七):JUC包同步集合及JUC总结练习
- 容器的同步控制与只读设置JAVA133
- 线程高级应用-心得8-java5线程并发库中同步集合Collections工具类的应用及案例分析
- Java中创建只读容器,同步容器
- Java集合HashSet-ArrayList-HashMap的线程同步控制方法和区别
- 【张孝祥并发课程笔记】15:java5同步集合类的应用
- Java集合HashSet-ArrayList-HashMap的线程同步控制方法和区别
- Java集合HashSet-ArrayList-HashMap的线程同步控制方法和区别
- Java5 多线程(九)--jdk1.5同步集合
- [编写高质量代码:改善java程序的151个建议]建议75 集合中元素必须做到compareTo和equals同步
- Java并发编程-13-在集合点的同步-CyclicBarrier
- guava之只读、函数式编程(过滤 转换 约束)、集合与apacheJAVA134-135