集合-06
【摘要】 六.不可变集合 1.unmodifiableCollectionunmodifiableCollection()方法的功能:返回的 collection 是不可修改的视图unmodifiableCollection()方法语法:#参数说明:#co:设置不可修改视图的对象public static List unmodifiableCollection(Collection co)注意事项:...
六.不可变集合
1.unmodifiableCollection
unmodifiableCollection()方法的功能:返回的 collection 是不可修改的视图
unmodifiableCollection()方法语法:
#参数说明:
#co:设置不可修改视图的对象
public static List unmodifiableCollection(Collection co)
注意事项:
- unmodifiableCollection()方法在 java.util 包中可用
- unmodifiableCollection()方法用于获取给定的不可修改视图
- unmodifiableCollection()方法是一个静态方法,可以通过类名进行访问,如果我们尝试使用类对象访问该方法,那么我们也不会收到任何错误
- unmodifiableCollection()方法在修改给定集合时可能会引发异常
- UnsupportedOperationException:当我们尝试修改给定的集合时,可能会抛出此异常
@Slf4j
public class Basic_25_unmodifiable {
public static void main(String[] args) {
//实例化链接列表对象
List<Integer> list = new LinkedList();
//通过使用add()方法是添加
//链表中的对象
list.add(88);
list.add(99);
list.add(22);
list.add(123);
list.add(2322);
//显示链接列表
System.out.println("LinkedList: " + list);
//通过使用unmodifiableCollection()方法是
list = (List<Integer>) Collections.unmodifiableCollection(list);
list.add(888);/*此处会发生异常*/
}
}
2.unmodifiableSet
public class Basic_01_unmodifiable {
public static void main(String[] args) {
//实例化链接列表对象
Set<Integer> list = new HashSet<>();
//通过使用add()方法是添加
//链表中的对象
list.add(88);
list.add(99);
list.add(22);
list.add(123);
list.add(2322);
//显示链接列表
System.out.println("LinkedList: " + list);
//通过使用unmodifiableCollection()方法是
list = (Set<Integer>) Collections.unmodifiableSet(list);
list.add(888);/*此处会发生异常*/
}
}
3.unmodifiableNavigableSet
此方法将返回给定 Navigable 集的不可修改视图。
用法:
public static <T> NavigableSet<T> unmodifiableSortedSet(SortedSet<T> data)
其中,数据是在不可修改的视图中返回的可导航集。
public class Basic_03_unmodifiableNavigableSet {
public static void main(String[] args) {
//实例化链接列表对象
NavigableSet<Integer> set = new TreeSet<>();
//通过使用add()方法是添加
//链表中的对象
set.add(88);
set.add(99);
set.add(22);
set.add(123);
set.add(2322);
//显示链接列表
System.out.println("LinkedList: " + set);
set = Collections.unmodifiableNavigableSet(set);
set.add(888);/*此处会发生异常*/
}
}
4.unmodifiableMap
public class Basic_04_unmodifiableMap {
public static void main(String[] args) {
//实例化链接列表对象
Map<Integer, Integer> map = new HashMap<>();
//通过使用add()方法是添加
//链表中的对象
map.put(2, 88);
map.put(1, 99);
map.put(1, 22);
map.put(1, 123);
map.put(1, 2322);
//显示链接列表
System.out.println("HashMap: " + map);
map = Collections.unmodifiableMap(map);
map.put(888, 888);/*此处会发生异常*/
}
}
5.unmodifiableNavigableMap
public class Basic_05_unmodifiableNavigableMap {
public static void main(String[] args) {
//实例化链接列表对象
NavigableMap<Integer, Integer> map = new TreeMap<>();
//通过使用add()方法是添加
//链表中的对象
map.put(2, 88);
map.put(1, 99);
map.put(1, 22);
map.put(1, 123);
map.put(1, 2322);
//显示链接列表
System.out.println("HashMap: " + map);
map = Collections.unmodifiableNavigableMap(map);
map.put(888, 888);/*此处会发生异常*/
}
}
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)