JavaEE鸿蒙应用开发HTML&JS+前端Python+大数据开发人工智能开发电商视觉设计软件测试新媒体+短视频直播运营产品经理集成电路应用开发(含嵌入式)Linux云计算+运维开发C/C++拍摄剪辑+短视频制作PMP项目管理认证电商运营Go语言与区块链大数据PHP工程师Android+物联网iOS.NET

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

更新日期:2021.12.31

全套视频教程及资料

视频教程技术解析配套源码学习工具学习笔记

一键免费下载

扫码关注,回复关键词,马上领取全套视频资源!

1. 微信扫描二维码,
    关注“黑马程序员”公众号(itheima666)

2. 回复关键词“领取资源01”,

即可在小程序的【JavaEE】学科中领取全部资源

课程须知

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

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

课程简介

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

2人已评分

我也要评分

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

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

发表评价

东方小神

听完了,有一些之前自己看源码没看懂的地方也听懂了,不错,就是面试题中一节remove的时候比较ArrayList和LinkList谁快时,删除LinkList用ArrayList方法不对吧?

0

2020-07-03 23:22

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

0

2020-03-15 22:42