热门课程

免费试听

上课方式

开班时间

当前位置: 首页 -   文章 -   根域文章 -   正文

Java常用的数据结构有哪些?Java学习干货速码

zhiliaoadmin
2022-11-02 16:07:59
0

学Java开发必须要学数据结构,这是肯定的。那么Java常用的数据结构有哪些?和知了姐一起来看看这些Java的学习干货吧。

Java常用的数据结构有哪些?包括1、数组;2、链表;3、栈;4、队列;5、树;6、堆;7、图;8、哈希表。


Java常用的数据结构


Java常用的数据结构之数组

数组是有序元素的序列,在内存中的分配是连续的,数组会为存储的元素都分配一个下标(索引),此下标是一个自增连续的,访问数组中的元素通过下标进行访问;数组下标从0开始访问;

优点:

按照索引查询元素的速度很快;按照索引遍历数组也很方便。

缺点:

数组的大小在创建后就确定了,无法扩容;数组只能存储一种类型的数据;


Java常用的数据结构有哪些


Java常用的数据结构之链表

链表是由一系列节点Node(也可称元素)组成,数据元素的逻辑顺序是通过链表的指针地址实现,通常情况下,每个节点包含两个部分,一个用于存储元素的内存地址,名叫数据域,另一个则指向下一个相邻节点地址的指针,名叫指针域;根据链表的指向不同可分为单向链表、双向链表、循环链表等;我们本章介绍的是单向链表,也是所有链表中最常见、最简单的链表;

优点:

不需要初始化容量;可以添加任意元素;插入和删除的时候只需要更新引用。

缺点:

含有大量的引用,占用的内存空间大;查找元素需要遍历整个链表,耗时。


Java常用的数据结构之栈

栈就好像水桶一样,底部是密封的,顶部是开口,水可以进可以出。用过水桶的小伙伴应该明白这样一个道理:先进去的水在桶的底部,后进去的水在桶的顶部;后进去的水先被倒出来,先进去的水后被倒出来。同理,栈按照“后进先出”、“先进后出”的原则来存储数据,先插入的数据被压入栈底,后插入的数据在栈顶,读出数据的时候,从栈顶开始依次读出。

栈的特点:先进后出,Java中的栈内存就是一个栈的数据结构,先调用的方法要等到后调用的方法结束才会弹栈(出栈);


Java常用的数据结构有哪些


Java常用的数据结构之队列

队列与栈一样,也是一种线性表,其限制是仅允许在表的一端进行插入,而在表的另一端进行删除。队列的特点是先进先出,从一端放入元素的操作称为入队,取出元素为出队;

队列的特点:先进先出;


Java常用的数据结构有哪些


Java常用的数据结构之树

树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做 “树” 是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:

1)每个节点有0个或多个子节点;

2)没有父节点的节点称为根节点;

3)每一个非根节点有且只有一个父节点;

4)除了根节点外,每个子节点可以分为多个不相交的子树;

5)右子树永远比左子树大,读取顺序从左到右;

树的分类有非常多种,平衡二叉树(AVL)、红黑树RBL(R-B Tree)、B树(B-Tree)、B+树(B+Tree)等,但最早都是由二叉树演变过去的;


Java常用的数据结构有哪些


Java常用的数据结构之堆

堆可以看做是一颗用数组实现的二叉树,所以它没有使用父指针或者子指针。堆根据“堆属性”来排序,“堆属性”决定了树中节点的位置。

堆的特性:

堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树。


Java常用的数据结构之图

图是一系列顶点(元素)的集合,这些顶点通过一系列边连接起来组成图这种数据结构。顶点用圆圈表示,边就是这些圆圈之间的连线。顶点之间通过边连接。

图是一种比较复杂的数据结构,在存储数据上有着比较复杂和高效的算法,分别有邻接矩阵 、邻接表、十字链表、邻接多重表、边集数组等存储结构。


Java常用的数据结构有哪些


Java常用的数据结构之哈希表

哈希表也叫散列表,是根据键和值 (key和value) 直接进行访问的数据结构,通过key和value来映射到集合中的一个位置,这样就可以很快找到集合中的对应元素。它利用数组支持按照下标访问的特性,所以散列表其实是数组的一种扩展,由数组演化而来。

数组的最大特点就是查找容易,插入和删除困难;而链表正好相反,查找困难,而插入和删除容易。哈希表很完美地结合了两者的优点,可以快速实现查找、插入和删除。

Java常用的数据结构有哪些?以上就是知了姐整理的Java重最常用的八大数据结构,关注成都知了堂Java培训机构,不定时分享更所Java干货。


大家都在看

学java可以从事什么工作?Java培训班靠谱吗...

2022-11-02 浏览次数:0

大龄、零基础,想转行做网络安全,怎样比较可行?

2022-11-02 浏览次数:0

2023应届生小姐姐就业成功,入职等保测评工程师

2022-11-02 浏览次数:0

二十九岁学长逆袭网安大厂,分享心得体会

2022-11-02 浏览次数:0

写冒泡排序算法,Java冒泡算法写法

2022-11-02 浏览次数:0

成都IT培训机构哪家专业一点?

2022-11-02 浏览次数:0
最新资讯
Java常用的数据结构有哪些?... 学Java开发必须要学数据结构,这是肯定的。那么Java常用的数据结构有哪些?和知了姐一起来看看这些...