当前位置 : 主页 > 编程语言 > java >

《Java 核心技术 卷1》 笔记 第13章 集合(8)视图(一)

来源:互联网 收集:自由互联 发布时间:2022-07-13
13.3.1 视图与包装器 视图:从集合类通过映射关系获取另一个集合类,而非直接创建新的集合类。优点是不占用额外空间,缺点是非真实集合,看上去不太直观;另外,消耗了一定的栈


《Java 核心技术 卷1》 笔记 第13章 集合(8)视图(一)_集合类

《Java 核心技术 卷1》 笔记 第13章 集合(8)视图(一)_父类_02

 13.3.1 视图与包装器

视图:从集合类通过映射关系获取另一个集合类,而非直接创建新的集合类。优点是不占用额外空间,缺点是非真实集合,看上去不太直观;另外,消耗了一定的栈存储空间,不能做太多层的映射,会超出栈内存。

《Java 核心技术 卷1》 笔记 第13章 集合(8)视图(一)_idea_03

 1 轻量级包装器

典型例子1:数组转集合 Arrays.asList(xx);

《Java 核心技术 卷1》 笔记 第13章 集合(8)视图(一)_嵌套_04

注意,这里的 ArrayList 不是 java.util.ArrayList,而是静态内部类 ArrayList

《Java 核心技术 卷1》 笔记 第13章 集合(8)视图(一)_java_05

《Java 核心技术 卷1》 笔记 第13章 集合(8)视图(一)_idea_06

这个类实际上都是对数组的映射,是 java.util.ArrayList 的简化版本。特别注意的是,这个类不能增删元素!

《Java 核心技术 卷1》 笔记 第13章 集合(8)视图(一)_父类_07

由于上述截图中没有重写  add/remove 方法,最终调用这两个类会按照父类处理抛出异常。

典型示例2:Collecitons.singleton(object), 可创建一个只有一个对象的 Set 视图映射

《Java 核心技术 卷1》 笔记 第13章 集合(8)视图(一)_java_08

《Java 核心技术 卷1》 笔记 第13章 集合(8)视图(一)_idea_09

小总结:

上一篇:#yyds干货盘点# 解决名企真题:火眼金睛
下一篇:没有了
网友评论