浅谈线性表——顺序表

一、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提供的类。

学习数据结构,每一个数据结构都先要自己实现一遍,并且每个函数都要学会画图,才有可能清楚其中原理。

学完数据结构,不要忘了刷题巩固知识,否则学了也是白学。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值