Java人工智能+Pythonweb前端UI/UE设计PHP+H5全栈工程师C/C++大数据新媒体软件测试产品经理电商运营网络安全+运维Go语言与区块链拍摄剪辑+短视频制作PMP项目管理认证iOSAndroid+物联网.NET

全面深入解析ArrayList原理(源码分析+面试讲解)

  • 中级

  • 试看6节

  • 4297人学习

课程须知

在本套课程中,我们将全面深度剖析ArrayList原理,包含底层数据结构、扩容机制、性能分析、底层源码解析、以及各种和ArrayList相关的面试题等。...

下载完整视频

提取码: 25dj

收藏课程 获取资料

分享

  1. 课程介绍
  2. 课程目录
  3. 课程评论

视频提取码:25dj


课程简介

ArrayList是单列集合中最重要、最常用的实现类之一,主要体现在对于数据的增、删、改、查方面,多用于处理前端传递到后台的数据以及对数据库查询到的结果进行封装等。ArrayList底层是基于动态数组,可以说是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处    

在本套课程中,我们将全面深度剖析ArrayList原理,包含底层数据结构、扩容机制、性能分析、底层源码解析、以及各种和ArrayList相关的面试题等。让我们不仅是学习ArrayList基本应用,而且通过底层原理分析让大家更深层次的理解ArrayList,甚至在某些性能方面会颠覆我们对于它的认知,同时在面试方面会给我们带来更大优势。

适用人群

有一定的Java基础。

课程亮点

深入解析ArrayList原理

ArrayList继承关系介绍

Serializable接口的应用

Cloneable接口的应用

RandomAccess接口的应用

源码分析

扩容算法

各种方法源码解析

面试题讲解

ArrayList频繁扩容导致添加性能急剧下降,如何处理?

ArrayList插入或删除元素一定比LinkedList慢么?

如何复制某个ArrayList到另一个ArrayList中去?

已知成员变量集合存储N多用户名称,在多线程的环境下,使用迭代器在读取集合数据的同时如何保证还可以正常的写入数据到集合?

课程内容

章节一:ArrayList集合底层数据结构

1.ArrayList集合介绍

2.数组结构介绍

章节二:ArrayList继承关系

1.Serializable标记性接口

2.Cloneable 标记性接口

3.RandomAccess标记接口

4.AbstractList抽象类

章节三:ArrayList源码分析

1.构造方法

2.添加方法

3.删除方法

4.修改方法

5.获取方法

6.转换方法

7.迭代器

8.清空方法

9.包含方法

10.判断集合是否为空

章节四:面试题

1.ArrayList是如何扩容的?

2.ArrayList频繁扩容导致添加性能急剧下降,如何处理?

3.ArrayList插入或删除元素一定比LinkedList慢么?

4.ArrayList是线程安全的么?

5.如何复制某个ArrayList到另一个ArrayList中去?

6.已知成员变量集合存储N多用户名称,在多线程的环境下,使用迭代器在读取集合数据的同时如何保证还可以正常的写入数据到集合?

7.ArrayList 和 LinkList区别?

章节四:面试题

1.构造方法

2.构造、增、删、改、查、扩容等方法


综合评分 5.0

1人已评分

我也要评分

评论打分
你觉得老师讲的怎么样?

评论字数不能超过100字,还剩 个字符

发表评价

老师讲的很详细,五星好评一次付

0

2020-03-15 22:42