对于数据的操作都是增删查改
数组有下标索引便于查找,链表则便于增删。
一、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/中间)
先找到被删除的节点,再删除节点。