您的位置首页百科知识

Arraylist浅谈及使用例子(一)

Arraylist浅谈及使用例子(一)

的有关信息介绍如下:

Arraylist浅谈及使用例子(一)

Arraylist作为最常使用的集合类数据结构,虽然简单但是有很多的内容并非是所有初学者都了解得,了解arraylist的构成以及相关函数不仅有利于我们更加深入的去理解集合类,而且也可以在平时工作和学习中的使用上带来很大的便利,今天就由我给大家介绍arraylist的使用方式,也希望大家可以在看完本文后有所收获。

我们都知道java的list集合类中arraylist是最常使用到的,arraylist本质上就是一个数组队列,一个线性表的数据结构。和数组相比而言,不同的地方在于它可以动态增长。换言之就是个动态数组。

由于继承自list的抽象类Abstractlist,因此也就继承了增删改查的功能。而由于继承了RandomAccess接口,使得可以随机访问。继承Cloneable使得可以进行深拷贝。继承了java.io.Serializable这个接口,意味着我们的arraylist可以进行序列化,来进行传输操作。以下是arraylist的构造函数和api。

Arraylist内部包含了2个内容,一个就是object数组object[],另外一个就是实际的大小size,数组容量默认是10,会随着添加数据而拓展,也可以通过ensureCapacity函数来进行初始化定义大小。

arraylist由于是通过数组去实现的,所以源码会比较好理解,下面就截取了arraylist作为数组的一段。我们可以看出arraylist本质就是通过数组来保存数据的。当存不下的时候,默认是变为原来1.5倍大小,四舍五入。

由此可见,arraylist本质就是一个模板数组,而且甚至仅仅谈效率还没真正的数组高。所以从效率而言,在我们已经知道一个序列的最大容量上限的时候,请使用数组而不是用arraylist是一个更好的选择,而在序列化的时候永远都是先写入或者读取容量,接着再去读取和写入每一个元素的。

本篇主要介绍了arraylist的基本架构和底层实现,下一篇经验将给大家介绍arraylist的具体使用方法以及注意事项,希望大家在看完本文之后,可以学有所得。谢谢