计算机基础 使用JAVA实现队列的数据结构

队列,是一种特殊的链表,是一种只能在表尾进行插入,表头进行删除的特殊链表,是一种先进先出的结构。

一、队列的结构

队列本质是一种链表,因此栈存储结构与链表一致,形象图如下:

整个栈像我们日常生活中的排队,每个排队的人物就是一个队列元素,新来的人只能排在队尾,从开始依次出队

1.给队列添加元素

给队列添加元素

  • 就像在食堂打饭,后来的人就得在队列后面排着,前面的人先到打饭窗口打饭
2.从队列里面删除元素

从队列中删除元素

  • 在食堂打饭

计算机基础 Java数据结构之栈Stack的使用和实现原理解读

一、java中栈与其他集合的关系

1.Stack与其他相关数据结构接口的关系

栈与其他相关数据结构接口的关系

2.Stack与Vector
  • Vector是Stack的父类,它实现了Stack实现与之相关接口的所有方法
3.Vector与ArrayList
  • 相同点:
    • 它们都实现了List接口和Collection接口等 
    • 它们的底层都使用数组来存储节点
  • 不同点
    • (1)线程安全:ArrayList是不是线程安全的,而Vector是线程安

计算机基础 使用JAVA实现栈的数据结构

栈,是一种特殊的链表,是一种只能在表尾进行操作的特殊链表,是一种后进先出的结构。

一、栈的结构

栈本质是一种链表,因此栈存储结构与链表一致,形象图如下:

整个栈像我们日常使用的行礼箱,它是一层一层的放置东西,每件物品相当于一个栈元素,我们如果想放东西,只能从下面往上面放,最后放的东西永远在最上面,如果拿东西,也是从第上面开始拿

1.给栈添加元素

给栈添加元素

  • 就像往箱子里面放东西,后放的东西总是在最上面
2.从

计算机基础 java数据结构之链表LinkedList的使用与实现原理解读

一、LinkedList的优缺点 

  • 优点:
    • 插入和删除操作较快,只需要修改对应的指针即可
  • 缺点:
    • 通过索引查找元素较慢

二、LinkedList与其他数据结构的关系

1.LinkedList与集合等结构的关系

LinkedList与其他集合的关系

2.LinkedList实现的方法

LinkedList实现的接口方法

三、LinkedList的使用及实现原理解读

1.LinkedList的属性
  • size : 元素个数
  • first : 链首,链表的第一个节点(Node)
  • las

计算机基础 java数据结构之数组列表ArrayList的使用及实现原理解读

一、ArrayList的作用及优缺点

ArrayList是通过数组作为存储为实现的列表,它是一种顺序存储结构

  • 优点
    • 通过位置(索引)查找数据较快
  • 缺点
    • 插入数据需要移动插入位置后面所有的元素
    • 删除数据需要移动删除位置后面所有的元素

二、ArrayList类与其他数据结构之间的关系

1.ArrayList与其他集合类型的关系

ArrayList与其他数据结构之间的关系

2.ArrayList与具体的集合类型的关联

ArrayList与其他接口之间的关系

  • JAVA数据结构大致可分为两