文章目录
Java 中的几种基本数据结构
1、数组
在内存中连续存储多个元素的结构,在内存中的分配也是连续的
优点:查询元素,遍历数组速度快且方便
缺点:无法扩容,只能存储单一类型的数据,删除和添加元素效率慢
2、堆
可以看做是一棵树的数组对象
堆中某个节点的值总是不大于或不小于其父节点的值
堆总是一棵完全二叉树
根节点最大的堆叫最大堆(或者叫大顶堆,大根堆),反过来的叫
最小堆(或者叫小顶堆,小根堆)
堆是有序的,一般用来做数组中的排序,称为堆排序
3、栈(Java 中 Stack 对象)
特殊的线性表,只能操作栈顶,先进后出
就像一个桶,最先放进去的东西,需要把后面的放进去的东西拿出去了才可以拿出来
4、队列
Java 中基础库中的队列
ConcurrentLinkedQueue 高性能无阻塞无界队列(底层通过CAS操作)
ConcurrentLinked