数据结构软件测试,资讯详情-java常见数据结构-柠檬班-自动化测试-软件测试培训-自学官网...

Java中常见数据结构

1、LinkedList 双向链表

d7a49f6c0e3d25e8c167808ed1709085.png

特点:

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

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

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

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

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

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

代码:

51962cf4b8b13eb9b71a433a0669ec3e.png

2、数组

f13e88b1b216de6b16c7ce0a6600752e.png

特点:

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

2. 数组下标从 0 开始。

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

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

代码:

53057acd672d42fce56af41fba3da2ef.png

3、Stack 栈

a3b62576f9edf98d134a652ad1e49d0d.png

特点:

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

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

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

代码:

fb9e5de95a2abc6f8fdc0e8b5c89c0f4.png

4、ArrayBlockingQueue 阻塞队列

ba11830b6a71e064155f8055b64d188d.png

特点:

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

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

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

代码:

2b6d92f430ed2234fe1dbfa32267e32c.png

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

评论:0 点赞:0

阅读:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值