java常见数据结构
目标: 常见的数据结构种类。
这些结构,java早就通过代码实现了,我们要知道有这些结构即可
集合是基于数据结构做出来的,不同的集合底层采用不同的数据结构。
不同的数据结构,功能和作用是不一样的。
什么是数据结构?
数据结构指的是数据以什么方式组织在一起。
不同的数据结构,增删改查的性能是不一样的。
不同的集合底层会采用不同的数据结构,我们要知道集合的底层是基于哪种数据结构存储和操作数据的。
这样才能知道具体场景用哪种集合。
Java常见的数据结构有哪些?
数据存储的常用结构有: 栈,队列,数组,链表和红黑树
a,队列(queue)
--- 先进先出,后进后出。
---- 场景,各种排队,叫号系统。
--- 有很多集合可以实现队列。
b.栈(stack)
--- 后进先出,先进后出
--- 压栈 == 入栈
--- 弹栈 == 出栈
--- 场景: 手枪的弹夹。
c. 线性表(数组)
-- 数组是内存中的连续存储区域。
--- 分成若干等分的小区域(每个区域大小是一样的)
--- 元素存在索引
--- 特点:查询元素块(根据索引快速计算出元素的地址,然后立即上定位)
增删元素慢(创建新数组,迁移元素)
d.链表
---- 元素不是内存中的连续区域存储。
---- 元素是游离存储的,每个元素会记录下个元素的地址。
---- 特定: 查询元素慢
增删元素块(针对于首尾元素,速度极快,一般是双链表)
e. 红黑树