一 线性表
在介绍顺序表之前,首先要先要了解什么是线性表
定义:1.线性表是最基本、最简单、也是最常用的一种数据结构
2.线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接
简单的了解下线性表的概念,在接下来的介绍中会更好的了解
二 顺序表
定义:顺序表是在计算机内存中以数组的形式保存的线性表
特点:内存上就是关联的
优点:存取速度高效,在无需扩容时尾插效率高,支持随机访问
缺点:中间插入或删除效率低

以上介绍的都是概念,接下来我们在ArrayList中了解其具体的运用
三 ArrayList
思路:初始化、增删改查
初始化

注释翻译为:初始化一个空数组默认长度为10,可我们只看到了空数组,其实我们会在源码中找到DEFAULT_CAPACITY,他的默认值就是10,那么为和数组有啥关系呢?我们后面再说

通过这两种方法我们就可以初始化出一个ArrayList,其实它还有一个初始化方法,有兴趣可以自己去了解一下。下面一一介绍增删该查,这里只针对单个元素。
增 Add(E e)

要添加一个元素,我们该考虑的是这个数组的容量问题,容量够不够?不够又该咋办?容量够了直接赋值就行了

红色圈出的代码其实就是解释为什么说初始化长度没传的时候 默认是10了,原来是在添加的时候判断的。
顺着代码往下看,其实最后会找到grow()

这个方法就是定义数组的扩容规则,添加方法中的其他内容就不在此阐述
删
传入element,删除第一个找到的元素

传入index,删除对应位置的元素

删除元素的过程中必然会遇到元素重新排列的问题,下面这段代码就是对数组剩下元素的重新排列操作

这段代码在两个删除方法中都能找到。
改
很简单的赋值 可简单的用

查

在这里介绍了简单的增删改查,ArrayList还提供了其他方便我们操作的api,如有兴趣可自行研究
至此,介绍关于顺序表和ArrayList的简单知识。over!
网友评论