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

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

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

 

一、ArrayList

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

数组有两个属性:element和size

初始化数组size为10.

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

 

对数组的操作:

1.增加元素

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

 

2.删除元素

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

 

3、查找

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

 

 

 

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

 

 

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

链表结构

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

 

对链表的操作:

1、增加到节点到first和last

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值