博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
corejava基础知识(6)-视图
阅读量:6195 次
发布时间:2019-06-21

本文共 1224 字,大约阅读时间需要 4 分钟。

集合包装器视图

Array包装成List:

Card[] cardArray = new Card[52];List
cardList = Arrays.asList(cardArray);复制代码

Arrays类的静态方法 asList 将返回一个包装了 List 的包装器。 注意返回的是视图对象,它只能使用getset方法。

Map包装成Set:

  • Set<Map.Entry<K, V>> entrySet()返回Map.Entry对象的一个集视图。
  • Set<K> keySet() 返回映射中所有键的一个集视图。
  • Col1ection<V> values() 返回映射中所有值的一个集合视图。

可以从集视图中删除元素,映射中对应的键和值也会被删除, 不过不能增加任何元素。

子范围视图

可以为集合建立子范围视图

List group2 =staff.subList(10, 20); // 列表的子范围SortedSet
subSet(E from, E to); //有序集根据排序顺序建立子视图SortedSet
headSet(E to);SortedSet
tailSet(E from);SortedMap
subMap(K from, K to); //和有序集同理SortedMap
headMap(K to);SortedMap
tailMap(K from);复制代码

注意:

  • 范围是左闭右开
  • 可以将任何操作应用于子范围, 并且能够自动地反映到原范围。
  • 对顺序集合对子集合添加元素时,新元素必须在子范围内

不可修改的视图

顾名思义生成不可修改的视图,如果发现试图对集合进行修改,就抛出一个异常。当然原对象肯定还是可以修改的。

例如:生成一个不可修改的Map视图:

TreeMap
scores = new TreeMap<>();...Map
umMap = Collections.synchronizedSortedMap(scores);复制代码

同步视图

类库的设计者使用视图机制来确保常规集合的线程安全,而不是实现线程安全的集合类。

例如:新建一个线程安全的Map:

Map
());复制代码

受查视图

受查视图可以查出 将错误类型的元素混人泛型集合 这种情况。

例如:

List
safestrings = Collections.checkedList(strings,String,class);复制代码

当加入错误类型时,会得到错误报告。

转载地址:http://rsfca.baihongyu.com/

你可能感兴趣的文章
浪潮NFV助力运营商网络转型
查看>>
领跑全球安全行业,为什么是以色列?
查看>>
云计算如何测“benchmark”?
查看>>
10个典型的大数据案例
查看>>
搭载高德地图车机版的天之眼智能后视镜开售 高德用户可享免单
查看>>
2017全球智慧城市战略指数分析
查看>>
Salesforce将收购市场营销数据软件公司Krux
查看>>
《中国人工智能学会通讯》——1.37 快速增长的禁止呼声
查看>>
存储极客 | 4KB扇区硬盘来了,RAID、VMware兼容不?
查看>>
微服务实战:从架构到发布(二)
查看>>
震惊!误删数据也上瘾?原来有和力记易这个法宝
查看>>
互联网巨头加码云计算,出现了这四个微妙的现象
查看>>
没有这个黑客 就没有开源软件
查看>>
扎克伯格又被黑,黑客还是同一人?
查看>>
爱立信牵头欧洲5GCAR项目
查看>>
来真格的!IBM开出500万美元巨奖推Watson
查看>>
安全自动化是企业安全“一劳永逸”之法吗?
查看>>
多系统管理问题显现 一体化管理走俏
查看>>
最新解决Discuz!X3.4以下版本前台打开卡慢、后台登陆卡死或504错误等问题
查看>>
SaaS运营九大法则
查看>>