java常见数据结构

发布于 更新于
本文目录
  1. 1、LinkedList 双向链表
  2. 2、数组
  3. 3、Stack 栈
  4. 4、ArrayBlockingQueue 阻塞队列

技术文章

Java中常见数据结构1、LinkedList 双向链表特点:1. 物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现每个元素包含三个节点,一个是存储元素的数据域(data),一个是指向前一个节点的指针域(p...

Java中常见数据结构

1、LinkedList 双向链表

特点:

1. 物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现

每个元素包含三个节点,一个是存储元素的数据域(data),一个是指向前一个节点的指针域(prev), 一个是指向后一个节点的指针域(next)。

根据指针的指向,链表形成不同的结构,例如单链表、双链表,循环链表。

2. 链表优点:不需要初始化容量,可以任意加减元素,添加或删除元素只需要改变前后两个元素节点的指针域指向地址即可, 所以添加,删除很快。

3. 缺点:含有大量指针域,占用空间大,需要查找元素需要遍历链表来查找,比较耗时。

4. 使用场景:数据量小,需要频繁增加,删除的操作。

代码:


2、数组

特点:

1. 在内存中申请一块连续的空间。

2. 数组下标从 0 开始。

3. 数组的类型只能是一个,且固定,在申明时确定。

4. 数组的长度一经确定,无法改变,即定长。要改变长度,只能重新申明一个。

代码:

3、Stack 栈


特点:

1. 栈是一种线性存储结构。

2. 栈中数据是按照”后进先出(LIFO, Last In First Out)”方式进出栈的。

3. 向栈中添加/删除数据时,只能从栈顶进行操作。

代码:

4、ArrayBlockingQueue 阻塞队列

特点:

1. 队列是一种特殊的线性表。

2. 其插入操作只能在表的尾部进行,叫入队,这一端被称为队尾,删除操作只能在表的头部进行,叫出队,这一端被称为队首,没有数据元素的队列称为空队列。

3. 队列具有FIFO(先进先出)的特点。

代码:

说明:本文为柠檬班罗杰老师原创,转载需注明出处


继续阅读