`
bazhuang
  • 浏览: 149606 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Collections.unmodifiableCollection

    博客分类:
  • java
阅读更多
Collections.unmodifiableCollection这个可以得到一个集合的镜像,它的返回结果不可直接被改变,否则会提示
java.lang.UnsupportedOperationException
	at java.util.Collections$UnmodifiableCollection.add(Collections.java:1018)

正常的使用如下:
public class CollectionsTest {
	
	@Test
	public void test(){
		Collection<String> c = new ArrayList<String>();
		
		Collection<String> s = Collections.unmodifiableCollection(c);
		
		c.add("str");
		
		System.out.println(s);
	}

}

我们对c进行操作,s也同样获得了和c相同的内容,这样就可以避免其他人员修改这个s对象。有时候需要对它进行保护,避免返回结果被人修改。
分享到:
评论

相关推荐

    Collections

    * `Collections.unmodifiableCollection(Collection&lt;? extends T&gt; c)`: 返回一个不可变的集合。 不可变集合 Collections 中的不可变集合方法包括返回不可变的集合和返回不可变的列表。 * `Collections....

    javaclooections类.docx

    - `Collections.unmodifiableCollection(Collection c)`: 将集合`c`包装为只读集合。 - `Collections.unmodifiableList(List l)`: 将列表`l`包装为只读列表。 - `Collections.unmodifiableMap(Map m)`: 将映射`m`...

    Java Collections Framework

    - **只读集合**:介绍如何使用 `Collections.unmodifiableCollection()` 创建不可变的只读集合。 #### 八、替代集合 - **非标准库中的集合**:探讨除 Java 标准库之外的第三方集合库,如 JGL(Java Generic ...

    Collections源码java-JavascriptExercises:来自各种来源的Java脚本练习的集合,包括书籍和课程

    8. **集合的不可变性**:`Collections.unmodifiableCollection()`、`unmodifiableList()`、`unmodifiableSet()`和`unmodifiableMap()`返回的集合不允许添加、删除或修改元素,常用于创建只读集合。 9. **最小值和...

    java容器学习心得

    3. **不可变容器**:使用`Collections.unmodifiableCollection`来创建不可变的容器,提高代码的安全性和稳定性。 通过以上解析,我们可以看到Java容器的强大功能和灵活性,它们不仅能够高效地存储和操作数据,还能...

    02-Java集合容器面试题(2020最新版)-重点.pdf

    - **方法**:可以通过`Collections.unmodifiableCollection()`方法创建一个不可变的集合视图。 #### 十一、Collection接口 - **定义**:所有集合类的根接口,定义了集合的基本操作方法。 #### 十二、List接口 - **...

    Java集合容器面试题

    使用Collections.unmodifiableCollection()方法可以确保一个集合不能被修改。 Collection接口 Collection接口是所有集合类的父接口,提供了基本的集合操作方法,如add、remove、contains等。 List接口 List接口...

    1剑盛二面准备试题.txt1剑盛二面准备试题.txt

    34. **确保集合不可被修改的方法**:可以使用Collections.unmodifiableCollection()方法创建一个不可修改的视图。 ### 多线程知识点 35. **并行与并发的区别**:并行是指两个或多个事件在同一时刻发生;并发是指两...

    百度2019年最新面试题库

    通常通过复制集合来实现,例如`Collections.unmodifiableCollection()`。 #### get和post请求的区别 - **GET**方法:用于请求访问已被URI标识的资源,可以被缓存,保留在浏览器历史记录中,不会改变服务器状态。 -...

    aduna-commons-collections-2.6.0.jar.zip

    6. **多线程支持**:对于多线程环境,Aduna Commons Collections提供了一些线程安全的集合实现,如SynchronizedCollection、UnmodifiableCollection等,确保在并发访问下的安全性。 7. **数据结构**:除了基本的...

    collections15:现在很难找到的APACHE集合的存储库-通用源代码-Source code collection

    3. **装饰器**:装饰器模式被广泛应用于这个框架中,可以动态地给已有集合添加新功能,而不会改变其原有的接口或行为,如SynchronizedCollection、UnmodifiableCollection等。 4. **工厂方法**:提供了一种创建集合...

    Java操作集合工具类Collections使用详解

    4. 集合对象操作:Collections工具类提供了多种集合对象操作方法,如unmodifiableCollection()、synchronizedCollection()等。 * unmodifiableCollection(Collection):将集合对象设置为不可变。 * ...

Global site tag (gtag.js) - Google Analytics