java数据结构包括哪些?有哪些特点?

TheDisguiser 2020-08-18 16:50:47 java常见问答 4617

一个java项目的根本是由各种数据结构组成,数据结构里又存放着大量的数据,种种才构成了一个完整的项目,本篇文章我们会详细了解项目中常见的数据结构及特点,希望对小伙伴们有所帮助。

数组

简单来说,是指一组是有序的元素序列,数组会在内存中开辟一段连续的空间,并在此空间里存放元素。

数组特点:

查找元素快:通过索引,可以快速访问指定位置的元素

增删元素慢

指定索引位置增加元素:需new一个新数组,并把指定新元素存储在指定索引位置,再把原数组元素根据索引,复制到新数组对应索引的位置。

指定索引位置删除元素:需new一个新数组,然后将原数组元素根据索引,复制到新数组对应索引的位置,原数组中指定索引位置元素不复制到新数组中。

结构示意图:

java数据结构包括哪些  有哪些

链表

具体的说,链表是由一系列结点node(链表中每一个元素称为结点)组成的,结点是能够在运行时i动态生成的。

所有结点都包括两个部分:

--存储数据元素的数据域

--存储下个结点地址的指针域

链表结构有有两种,单向链表与双向链表。

链表特点:

查询操作慢:如果想查找某个元素,就需要通过连接节点,依次向后查找指定元素。

增删元素快:

增加元素:修改连接下个元素的地址OK。

删除元素:修改连接下个元素的地址OK。

多个结点之间,可以地址进行连接。

队列

我们简称队,它是跟堆栈一样,也是一种运算受限的线性表,它的限制是仅允许它在表的一端进行插入,在表的另一端进行删除。

特点:

先进先出

队列入口、出口各占一侧。

结构示意图:

java数据结构包括哪些  有哪些

红黑树

简单理解,就是一种每个结点不超过2的有序树 。

之所以这么说,因为它是一种类似于树的结构,只不过每个结点上都最多只能有两个子结点。

结构示意图:

java数据结构包括哪些  有哪些

以上就是本篇文章的所有内容,如果还有一些数据结构常见问题不是很懂的话,就快关注奇Q工具网找寻答案吧。

推荐阅读:

java随机数字实例及自定义随机数解析

es数据结构都有哪些?有什么用处?

redis数据结构有哪些?redis数据结构使用方式