文章目录
- 一、List接口
- 二、线性表
- 2.1、什么是线性表?
- 三、顺序表ArrayList
- 什么是顺序表?
一、List接口
从上图看到List接口继承自Collection接口,而 ArrayList、LinkedList、Stack 类都实现了List接口,List是个接口,不能够直接实例化,但是可以通过向上转型new出多个实例:
面试中可能会问 接口 Itrerable、Collection、List…这些接口里面都有什么方法,所以还是要多看官方文档或者书写代码进行熟记。
二、线性表
2.1、什么是线性表?
线性表是n个具有相同特性的数据元素的有限序列,是一种在实际中广泛使用的数据结
构,常见的线性表有:顺序表(ArrayList)、链表(LinkedList)、栈(Stack)、队列(Queue)…
线性表在逻辑上是线性结构:就是连续的一条直线;但是在物理上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。
逻辑上:就是内存上。数组就是逻辑上连续、物理上也连续的一种数据结构。
三、顺序表ArrayList
什么是顺序表?
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删查改。所以说,顺序表的底层就是一个数组。
那为什么要把数组做成一种顺序表的结构呢?
自我实现一个顺序表(完整代码自取)
顺序表代码细节详解:
(1)、
(2)、对方法 public void add(int pos, int data){ } 详解:
学习任何一种数据结构,都需要先学会底层原理,才能直接使用Java提供的类。
学习数据结构,每一个数据结构都先要自己实现一遍,并且每个函数都要学会画图,才有可能清楚其中原理。
学完数据结构,不要忘了刷题巩固知识,否则学了也是白学。