list常用方法Java_Java之List集合常用方法源码解读

c63f1bf126c4c62f021820d7396e5f0d.png

前言

在Java语言里,集合是非常重要的一种数据结构,而ArrayList这种数据结构又是我们使用最为广泛的,所以对于深入理解ArrayList是非常有帮助的,而对于ArrayList最好的学习方式就是看JDK的源码。本文就大致的介绍一下ArrayList中最常用的一些方法,并研究下ArrayList方法中的实现细节。

ArrayList特点

底层是数组数据结构。由于本质是数组,所以实现随机访问,而且速度较快,按照元素插入的顺序保持数据。删除和移动元素性能较低,因为会导致整个集合元素的移动。集合中的元素是可以重复的。有顺序。线程不安全的

ArrayList常用方法

1、构造方法

6e0f452982f51635dd163925720247b9.png

总结:ArrayList底层其实就是一个Object类型的数组,并且通过注释也可以得知,初始化的长度为10。

2、add(E element)方法

08ce9d87577bd119c7564b85cd9dbf15.png

219919343cd5d1a2e01a83083741fa18.png

总结:

a、通过文档注释可以得知调用add方法的时候实际上是将元素追加到了列表末尾。

b、elementData[size++] = e;表达的含义是将这个元素添加到这个数组中,并且数组的长度加1。

c、调用add方法永远返回的true。

d、ensureCapacityInternal(size + 1);通过注释可以知道这个方法用来动态扩容,其核心方法是grow方法,可以看到,有一个copyOf操作,目的其实就是数组拷贝来达到扩容的目的。

3、get(int index)方法

adbcf0d39717acc8ced94fc7d53c17a5.png

总结:调用get方法实际上就是通过下标获取数组中的索引对应的元素。

4、size()方法

cbb52ac4f61c375650050c2b11fe5bcd.png

总结:调用size方法获取的是这个元素的数量。注意:实际上获取的是数组的长度,而不是这个List集合的容量。

5、clear()方法

0536653f7e22d52601c2763c6a92ba90.png

总结:

a. clear方法将这个数组中的元素全部置为null。

b. 并且设置数组的长度size=0。

6、isEmpty()方法

7267b3ac10894217d779a3fb5a7d7dc5.png

总结:实际上就是判断size是否为0,如果为0则表示集合为空,否则就表示集合不为空。

ArrayList总结

通过上面列举的例子可以得到ArrayList本身就是一个数组,通过查看源代码也不难看出JDK设计的精妙,还有就是源代码其实也不是我们想象的那么高深莫测,只要慢慢的去啃,相信自己可以达到自己的目标。

每日一题

使用cache命中率最高的算法是()

A、先进先出算法FIFO

B、随机算法RAND

C、先进后出算法FILO

D、替换最近最少使用的块算法LRU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值