基于数组的ArrayList和基于链表的LinkList

对于数据的操作都是增删查改

数组有下标索引便于查找,链表则便于增删。

一、ArrayList

首先创建数组对象,然后用构造方法实例化数组对象。

数组有两个属性:element和size

初始化数组size为10.

考虑周全(若创建数组对象时输入了size为负数,应抛出一个异常)

对数组的操作:

1.增加元素

(数组是定长的,所以增加元素时,若空间不够则要扩容,扩容采用的是Arrays里的copyOf方法,底层的实现方式还是 System.arraycopy。扩容耗费大,这是数组一大缺点)

2.删除元素

首先要判断下标是都越界,删除的思想就是用下一个元素去覆盖前一个(把它压过去),最后要记得size--。

3、查找

数组是通过下标作为索引的,每个下标都对应一个元素。通过下标可以直接查找元素或通过元素找索引位置都可以

还有返回数组个数,判断数组是否空,打印数组等方法较简单,就不在此展现了。

一、Linklist(列举了双向链表)

链表结构

根据链表结构定义链表:Node节点first/last(prev:上一个节点对象, next:下一个,ele:节点中的元素)和size大小

对链表的操作:

1、增加到节点到first和last

2、删除(分情况:删first/last/中间)

先找到被删除的节点,再删除节点。

猜你喜欢

转载自blog.csdn.net/ziyonghong/article/details/81094368
今日推荐