没有合适的资源?快使用搜索试试~ 我知道了~
面渣逆袭 Java 集合框架篇.pdf
需积分: 5 0 下载量 130 浏览量
2023-12-13
09:18:17
上传
评论
收藏 4.24MB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/88624681/0001-aa7bf9bb156fc95375f18dc4df703f95_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
40页
面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 J
资源推荐
资源详情
资源评论
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/88624681/bg1.jpg)
图⽂详解 30 道 Java集合框架⾯试⾼频题,这次吊打⾯试官,我觉得稳了(⼿动 dog)。整理:
沉默王⼆,戳转载链接,作者:三分恶,戳原⽂链接。
引⾔
1.说说有哪些常见集合?
集合相关类和接⼜都在java.util中,主要分为3 种:List(列表)、Map(映射)、Set(集 ) 。
其中 Collection 是集合 List 、 Set 的⽗接⼜,它主要有两个⼦接⼜:
List :存储的元素有序,可重复。
Set :存储的元素不⽆序,不可重复。
Map 是另外的接⼜,是键值对映射结构的集合。
List
List,也没啥好问的,但不排除⾯试官剑⾛偏锋,⽐如⾯试官也看了我这篇⽂章。
2.ArrayList和LinkedList有什么区别?
( 1 ) 数据结构不同
ArrayList基于数组实现
LinkedList基于双向链表实现
![](https://csdnimg.cn/release/download_crawler_static/88624681/bg2.jpg)
( 2 ) 多数情况下,ArrayList更利于查找,LinkedList更利于增删
ArrayList基于数组实现,get(int index)可以直接通过数组下标获取,时间复杂度是O(1);
LinkedList基于链表实现,get(int index)需要遍历链表,时间复杂度是O(n);当然,get(E
element)这种查找,两种集合都需要遍历,时间复杂度都是O(n)。
ArrayList增删如果是数组末尾的位置,直接插⼊或者删除就可以了,但是如果插⼊中间的位置,
就需要把插⼊位置后的元素都向前或者向后移动,甚⾄还有可能触发扩容;双向链表的插⼊和删除
只需要改变前驱节点、后继节点和插⼊节点的指向就⾏了,不需要移动元素。
![](https://csdnimg.cn/release/download_crawler_static/88624681/bg3.jpg)
![](https://csdnimg.cn/release/download_crawler_static/88624681/bg4.jpg)
注意,这个地⽅可能会出陷阱,LinkedList更利于增删更多是体现在平均步长上,不是体现在时
间复杂度上,⼆者增删的时间复杂度都是O(n)
( 3 ) 是否⽀持随机访问
ArrayList基于数组,所以它可以根据下标查找,⽀持随机访问,当然,它也实现了
RandmoAccess 接⼜,这个接⼜只是⽤来标识是否⽀持随机访问。
LinkedList基于链表,所以它没法根据序号直接获取元素,它没有实现RandmoAccess 接⼜,标
记不⽀持随机访问。
( 4 ) 内存占⽤,ArrayList基于数组,是⼀块连续的内存空间,LinkedList基于链表,内存空间不连
续,它们在空间占⽤上都有⼀些额外的消耗:
ArrayList是预先定义好的数组,可能会有空的内存空间,存在⼀定空间浪费
LinkedList每个节点,需要存储前驱和后继,所以每个节点会占⽤更多的空间
3.ArrayList的扩容机制了解吗?
![](https://csdnimg.cn/release/download_crawler_static/88624681/bg5.jpg)
ArrayList是基于数组的集合,数组的容量是在定义的时候确定的,如果数组满 了,再 插⼊,就会数组
溢 出。所以在插⼊时候 ,会先检 查是否需要扩容,如果当前容量+1超 过数组长度,就会进 ⾏扩容。
ArrayList的扩容是创建⼀个1.5倍 的 新 数组,然后把原数组的值拷贝过 去 。
4.ArrayList怎么序列化的知道吗? 为什么⽤transient修饰数组?
ArrayList的序列化 不 太 ⼀ 样 ,它使 ⽤ transient 修饰存储元素的 elementData 的数组, transient 关
键 字 的作⽤是让被修饰的 成员属性不 被 序列化 。
为什么最ArrayList不直接序列化元素数组呢?
出于效率的 考虑,数组可能长度100,但实际 只⽤了50, 剩 下的50不⽤其实不⽤序列化 ,这样 可以提 ⾼
序列化 和 反 序列化 的 效率,还可以节省 内存空间。
那 ArrayList怎么序列化呢?
ArrayList通过两个⽅法readObject、 writeObject⾃ 定义序列化 和 反 序列化策略,实际 直接使 ⽤两个
流 ObjectOutputStream 和 ObjectInputStream 来 进 ⾏序列化 和 反 序列化 。
剩余39页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/8e8384d644fe4d58b20fee79c0798cc4_m0_58847451.jpg!1)
![avatar-vip](https://csdnimg.cn/release/downloadcmsfe/public/img/user-vip.1c89f3c5.png)
狮子也疯狂
- 粉丝: 2w+
- 资源: 263
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)