java collections 用法_Java Collections unmodifiableCollection()用法及代码示例

java.util.Collections类的unmodifiableCollection()方法用于返回指定集合的​​不可修改视图。此方法允许模块为用户提供对内部集合的只读访问权限。对返回的集合“read through”进行查询操作到指定的集合,并尝试直接或通过其迭代器修改返回的集合,将导致UnsupportedOperationException。

返回的集合不会将hashCode和equals操作传递到后备集合,而是依赖于Object的equals和hashCode方法。在后备集合是集合或列表的情况下,必须保留这些操作的合同。

如果指定的集合是可序列化的,则返回的集合将是可序列化的。

用法:

public static Collection

unmodifiableCollection(Collection extends T> c)

参数:此方法将集合作为要返回其不可修改视图的参数。

返回值:此方法返回指定集合的​​不可修改视图。

以下示例说明了unmodifiableCollection()方法

示例1:

// Java program to demonstrate

// unmodifiableCollection() method

// for Value

import java.util.*;

public class GFG1 {

public static void main(String[] argv) throws Exception

{

try {

// creating object of ArrayList

List list = new ArrayList();

// populate the list

list.add('X');

list.add('Y');

// printing the list

System.out.println("Initial list: " + list);

// getting unmodifiable list

// using unmodifiableCollection() method

Collection

immutablelist = Collections

.unmodifiableCollection(list);

}

catch (UnsupportedOperationException e) {

System.out.println("Exception thrown : " + e);

}

}

}

输出:

Initial list: [X, Y]

示例2:对于UnsupportedOperationException

// Java program to demonstrate

// unmodifiableCollection() method

// for UnsupportedOperationException

import java.util.*;

public class GFG1 {

public static void main(String[] argv)

throws Exception

{

try {

// creating object of ArrayList

List list = new ArrayList();

// populate the list

list.add('X');

list.add('Y');

// printing the list

System.out.println("Initial list: " + list);

// getting unmodifiable list

// using unmodifiableCollection() method

Collection

immutablelist = Collections

.unmodifiableCollection(list);

// Adding element to new Collection

System.out.println("\nTrying to modify"

+ " the unmodifiableCollection");

immutablelist.add('Z');

}

catch (UnsupportedOperationException e) {

System.out.println("Exception thrown : " + e);

}

}

}

输出:

Initial list: [X, Y]

Trying to modify the unmodifiableCollection

Exception thrown : java.lang.UnsupportedOperationException

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值