java数据结构都有哪些呢 一起来看看吧
Java常见数据结构
这 8 种数据结构有什么区别呢?
①、数组
优点:
按照索引查询元素的速度很快;
按照索引遍历数组也很方便。
缺点:
数组的大小在创建后就确定了,无法扩容;
数组只能存储一种类型的数据;
添加、删除元素的操作很耗时间,因为要移动其他元素。
②、链表
《算法(第 4 版)》一书中是这样定义链表的:
链表是一种递归的数据结构,它或者为空(null),或者是指向一个结点(node)的引用,该节点还有一个元素和一个指向另一条链表的引用。
Java 的 LinkedList 类可以很形象地通过代码的形式来表示一个链表的结构:
由于不必按照顺序的方式存储,链表在插入、删除的时候可以达到 O(1) 的时间复杂度(只需要重新指向引用即可,不需要像数组那样移动其他元素)。除此之外,链表还克服了数组必须预先知道数据大小的缺点,从而可以实现灵活的内存动态管理。这是一种双向链表,当前元素 item 既有 prev 又有 next,不过 first 的 prev 为 null,last 的 next 为 null。如果是单向链表的话,就只有 next,没有 prev。
优点:
不需要初始化容量;
可以添加任意元素;
插入和删除的时候只需要更新引用。
缺点:
含有大量的引用,占用的内存空间大;
查找元素需要遍历整个链表,耗时。
③、栈
栈就好像水桶一样,底部是密封的,顶部是开口,水可以进可以出。用过水桶的小伙伴应该明白这样一个道理:先进去的水在桶的底部,后进去的水在桶的顶部;后进去的水先被倒出来,先进去的水后被倒出来。
同理,栈按照“后进先出”、“先进后出”的原则来存储数据,先插入的数据被压入栈底,后插入的数据在栈顶,读出数据的时候,从栈顶开始依次读出。
④、队列
队列就好像一段水管一样,两端都是开口的,水从一端进去,然后从另外一端出来。先进去的水先出来,后进去的水后出来。
和水管有些不同的是,队列会对两端进行定义,一端叫队头,另外一端就叫队尾。队头只允许删除操作(出队),队尾只允许插入操作(入队)。
⑤、树
树是一种典型的非线性结构,它是由 n(n>0)个有限节点组成的一个具有层次关系的集合。
之所以叫“树”,是因为这种数据结构看起来就像是一个倒挂的树,只不过根在上,叶在下。树形数据结构有以下这些特点:
每个节点都只有有限个子节点或无子节点;
没有父节点的节点称为根节点;
每一个非根节点有且只有一个父节点;
除了根节点外,每个子节点可以分为多个不相交的子树。
下图展示了树的一些术语:
基于二叉查找树的特点,它相比较于其他数据结构的优势就在于查找、插入的时间复杂度较低,为 O(logn)。假如我们要从上图中查找 5 个元素,先从根节点 7 开始找,5 必定在 7 的左侧,找到 4,那 5 必定在 4 的右侧,找到 6,那 5 必定在 6 的左侧,找到了。
理想情况下,通过 BST 查找节点,所需要检查的节点数可以减半。
平衡二叉树:当且仅当任何节点的两棵子树的高度差不大于 1 的二叉树。由前苏联的数学家 Adelse-Velskil 和 Landis 在 1962 年提出的高度平衡的二叉树,根据科学家的英文名也称为 AVL 树。
平衡二叉树本质上也是一颗二叉查找树,不过为了限制左右子树的高度差,避免出现倾斜树等偏向于线性结构演化的情况,所以对二叉搜索树中每个节点的左右子树作了限制,左右子树的高度差称之为平衡因子,树中每个节点的平衡因子绝对值不大于 1。
平衡二叉树的难点在于,当删除或者增加节点的情况下,如何通过左旋或者右旋的方式来保持左右平衡。
Java 中最常见的平衡二叉树就是红黑树,节点是红色或者黑色,通过颜色的约束来维持着二叉树的平衡:
1)每个节点都只能是红色或者黑色
2)根节点是黑色
3)每个叶节点(NIL 节点,空节点)是黑色的。
4)如果一个节点是红色的,则它两个子节点都是黑色的。也就是说在一条路径上不能出现相邻的两个红色节点。
5)从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。
⑥、堆
堆可以被看做是一棵树的数组对象,具有以下特点:
堆中某个节点的值总是不大于或不小于其父节点的值;
堆总是一棵完全二叉树。
将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。
在线性结构中,数据元素之间满足唯一的线性关系,每个数据元素(除第一个和最后一个外)均有唯一的“前驱”和“后继”;
在树形结构中,数据元素之间有着明显的层次关系,并且每个数据元素只与上一层中的一个元素(父节点)及下一层的多个元素(子节点)相关;
而在图形结构中,节点之间的关系是任意的,图中任意两个数据元素之间都有可能相关。
⑧、哈希表
哈希表(Hash Table),也叫散列表,是一种可以通过关键码值(key-value)直接访问的数据结构,它最大的特点就是可以快速实现查找、插入和删除。
数组的最大特点就是查找容易,插入和删除困难;而链表正好相反,查找困难,而插入和删除容易。哈希表很完美地结合了两者的优点, Java 的 HashMap 在此基础上还加入了树的优点。
哈希函数在哈希表中起着⾮常关键的作⽤,它可以把任意长度的输入变换成固定长度的输出,该输出就是哈希值。哈希函数使得一个数据序列的访问过程变得更加迅速有效,通过哈希函数,数据元素能够被很快的进行定位。
若关键字为 k,则其值存放在hash(k)的存储位置上。由此,不需要遍历就可以直接取得 k 对应的值。
对于任意两个不同的数据块,其哈希值相同的可能性极小,也就是说,对于一个给定的数据块,找到和它哈希值相同的数据块极为困难。再者,对于一个数据块,哪怕只改动它的一个比特位,其哈希值的改动也会非常的大——这正是 Hash 存在的价值!
尽管可能性极小,但仍然会发生,如果哈希冲突了,Java 的 HashMap 会在数组的同一个位置上增加链表,如果链表的长度大于 8,将会转化成红黑树进行处理——这就是所谓的拉链法(数组+链表)。
推荐
-
RedmiNote11T印度发布 1400元起的价格你怎么看呢
今天下午,Redmi在印度发布Redmi Note 11T手机。售价方面,Redmi Note 11T 6GB+64GB版售价14999印...
来源: -
RedmiNote11T印度发布 1400元起的价格你怎么看呢
今天下午,Redmi在印度发布Redmi Note 11T手机。售价方面,Redmi Note 11T 6GB+64GB版售价14999印...
来源: -
realmeGT2Pro渲染图曝光 其造型神似免接触测温仪
11月29日晚间,知名爆料人onleaks曝光了realme GT2 Pro渲染图。如图所示,realme GT2 Pro最大的亮点...
来源:
热点更多》
-
时隔6年 苹果再次成为中国最大智能手机厂商
自2015年12月以来,苹果首次成为中国第...
-
时隔6年 苹果再次成为中国最大智能手机厂商
自2015年12月以来,苹果首次成为中国第...
-
双减政策出台后 北辰教育坚决拥护以实际行动响应教育新政
北辰教育总部位于上海,在全国有50+直营...
-
印度移动通信运营商再次集体提价 让电信行业进一步可持续
距离上一次集体涨价两年后,印度移动通...
-
各国应对奥密克戎变异株 明年初新疫苗有望上市
[ 新疫苗序列设计问题不大,关键是此次...
快讯更多》
财富
- 时隔6年 苹果再次成为中国最大智能手机厂商
- 双减政策出台后 北辰教育坚决拥护以实际行动响应教育新政
- 印度移动通信运营商再次集体提价 让电信行业进一步可持续
- 各国应对奥密克戎变异株 明年初新疫苗有望上市
- 奥密克戎毒株全球总体风险评估为非常高 各国继续推动疫苗注射
- MIUI13即将登场 小米11Redmi K40全系或首批适配
- 第三季中国PC市场出货量超过1500万台
- Hinova9将于12月2日发布 外观与荣耀50和nova9基本一致
- 洛阳钼业子公司TFM持续优化刚果金矿区社区医疗条件
- 中国移动出手打破电梯 地下车库无信号魔咒
- 中国科技大学研制的太空防护仿生纳米复合膜取得重大进展
- Intel欧盟半导体工厂计划即将公布 10年投资950亿美元
- 印度移动通信运营商再次集体提价 让电信行业进一步可持续
- 供应商:自动驾驶汽车激光雷达市场将迎来爆发期
- 美股周一收高 机构:明年美股企业盈利放缓或超预期
- 统计局解读11月PMI数据:中国经济景气水平总体有所回升
- “银发浪潮”下,如何让老年人乐享数字红利
- 解读:11月份制造业采购经理指数重回扩张区间 非制造业商务活动指数继续保持扩张
- 数据新动能——帆软第四届智数大会圆满落幕!
- 各国应对奥密克戎变异株 明年初新疫苗有望上市
- 奥密克戎毒株全球总体风险评估为非常高 各国继续推动疫苗注射
- MIUI13即将登场 小米11Redmi K40全系或首批适配
- 第三季中国PC市场出货量超过1500万台
- 华为MateBookE今晚零点正式开售 到手价5899元起
- 奥密克戎传染力比德尔塔增37.5% 两者潜伏期和传染期接近
- 花钱上抖音热榜 两名抖音员工收58万判处受贿罪
- RedmiNote114G明日首销 120W快充售价999元
- 专家称现有疫苗对奥密克戎依然有效 仍有强大保护力
- 浙商基金连亏3年 万向系旗下民生人寿拟100%控股
- 校外培训行业减员 机构从业者转岗如何转出新舞台
- 鼓励更多老年人接种疫苗
- 【中国共产党人的精神谱系】传承西迁精神 续写知识报国新篇章
- 公募基金入场北交所提振信心
- 证券期货行政执法当事人承诺制度:为投资者提供及时救济新机制
- 2021吉林文化旅游周启幕:展示吉林向前发展之路
- 政策“组合拳”护航中小企业平稳发展
- 2021年前10月贵州文旅项目签约总金额逾2000亿元
- 《钢铁脊梁》大型纪录片首播
- 郑州始发终到中欧班列累计开行1210列 共发送货物79.96万吨
- 陕京天然气管道累计输气量突破5000亿立方米 惠及近1.2亿人口
- 老工业基地“上新”摆脱“资源依赖症” 山西太原发力高新技术产业
- 一汽-大众新技术开发中心在长春落成
- 宁夏排污权二级市场首笔交易落槌
- 财政部印发《会计改革与发展“十四五”规划纲要》 提出8大方面主要任务
- 广东:生猪价格仍面临较大下行压力
- 瑞银:2022年亚洲市场或“扭转乾坤” GDP预期增长5.8%
- 吉林石化丙烯提纯项目正式投产 盈利环保双增效
- 企业“注销难”如何破?上海浦东“简”字诀跑出“引领区”速度
- 业界:银行业头部效应显著 加速转型仍是发展突破口
- 海关总署:1-10月我国与非洲贸易总值增长27.4%
- 360数科反诈报告:黑产分发App涉“黄赌骗” 金融诈骗排第4
- 通策医疗股价创一年新低 上月西部证券广发证券喊买入
- 专家:“1+2”长短政策“组合拳”护航中国中小企业发展
- 海关总署:前10月中国与非洲贸易总值增长27.4%
- 于洪君:加快隐形独角兽发展,重塑中国发展新优势
- 宝马推出特别版X7专供阿联酋市场 最高售价101万你怎么看呢
- 三星S22或2月8日发布2月18日正式开售 这回真的稳了吗
- iPhone或实现反向充电 你是不是也很期待呢
- 一加9RT上市一个多月 用户都是怎么评价的呢
- 华为WatchGT2手表升级 支持下载第三方应用你觉得怎么样
- 比亚迪宋ProDMi明日开启预售 预计售价15万你觉得怎么样呢
- 招商信诺人寿上海电销中心违法被罚 欺骗投保人等
- 国元证券违规收警示函 资产管理产品运作不规范
- 深圳中康信实业违法被罚1563万元 将境内外汇转移境外
- 收评:指数走势分化创指涨1% 新冠检测板块涨幅居前
- 五大信披媒体要点集萃丨锻造区域高质量发展增长极 一批重大项目加快推进;新版董监高持股变动规则公开征求意见
- 保时捷全新旗舰SUV渲染图曝光 三排七座布局你能接受吗
- 抖音开始测试短剧付费模式 每集1元起你怎么看呢
- 疑似五菱E10实车谍照曝光 这是要出电动快递车吗
- 曝小米12三款均已投产 什么时候会正式发布呢
- 长安奔奔EStar停止接单遭投诉 加价1万你能接受吗
- 雷克萨斯首款纯电平台车型来了 明年8月前亮相你期待吗
- 丰田埃尔法加价20万落地超百万 全新埃尔法何时上市呢
- 荣耀60外观全方位公布 星空元素你爱了吗
- 丰田推出双极镍氢电池 充放电效率提高至1.5倍你能接受吗
- 长安欧尚X5运动版上市 售价10.09万起你能接受
- 零延迟音质不输AirPods 真无线耳机是完美的替代品吗
- 本田发布新技术扫描驾驶员大脑实现安全驾驶 你觉得怎么样呢
- 奔驰西装暴徒来了800马力史上最强 你觉得售价会在多少
- 曝RedmiK50或搭载天玑7000 两千档真香机你怎么看呢
- 摩托罗拉拿到高通骁龙8Gen1全球首发权 会搭载哪款机型呢
- 比亚迪高端MPV再传新消息 续航里程能达到多少呢
- 小米智能门铃3发布众筹价299元 会是独居女生必备神器吗
- 华为年度折叠屏旗舰来了 你觉得会支持5g网络吗
- 奔驰G级价格上调G350涨价3.82万 是官方上调价格吗
- 007无暇赴死总票房破4亿 总计994.6万人观影
- 卢伟冰为Redmi明年新品预热 预计会在2022年年初陆续登场
- 微软新更新导致Windows Server系统出现严重故障
- 摩尔线程宣布 首颗国产全功能GPU芯片如期研制成功
- 长三角首个卫星制造灯塔工厂开工建设 预计于2023年投入使用
- 小米12下月底亮相 首批大规模供货的骁龙8Gen1终端之一
- 电子电气架构加速升级 域控制器将成为未来汽车的标配
- vivo12月宣布发布新一代手机操作系统 OriginOSOcean
- 荣耀60外观全方位公布 正面采用四曲面显示屏
- 苹果仍在开发多设备充电器 实现所有主要设备相互充电
- 中航产融大力培育专精特新企业 产投基金规模日益壮大
- 天玑9000处理器成本方面将会是天玑1200的两倍多
- 欧洲数家电信公司表示 美国科技巨头使用也应承担网络建设成本
- 曝小米12家族全系标配三星版骁龙8Gen1
- Hinova9将于12月2日发布 外观与荣耀50和nova9基本一致
- 洛阳钼业子公司TFM持续优化刚果金矿区社区医疗条件
- 首届闲置奢侈品行业论坛在沪顺利举办 200多商家共同参与讨论
- 工业元宇宙将催动全球智能制造市场规模至2025年达5400亿美元
- 李扬:中国经济的政策空间还很大,“弹药库”比其他国家更充足
- 贵州双龙航空港经济区:贴心服务吸引人才留住人才
- 湖南衡阳探索“码上办”和公务访企赋“码”准入
- 暗黑破坏神不朽开启卓端付费删档测试 本次测试暂不开放iOS平台
- OPPO折叠屏核心参数曝光 搭载5000万像素IMX766大底主摄
- 仙剑奇侠传七云游戏版登陆小米手机游戏中心APP
- 卡萨帝理想生活节圆满落幕 致敬每个热爱生活的人
- 联想小新Pro162021RTX版开箱 搭载RTX3050显卡
- RedmiNote11系列首次迎来MIUI开发版 包含多项优化与改进
- 华为小艺输入法开始内测招募 支持全球170多种语言
- 苹果仍开发多设备无线充电板 没有接触也能实现充电
- 用户吐槽小米相册播放视频功能出现故障
- 华为天才少年顶级薪酬值了 业内首个AutoML大规模商用
- 中国移动出手打破电梯 地下车库无信号魔咒
- Intel入门级Alchemist显卡售价曝光 定价可能为179美元
- 共赢中非美好未来
- “十四五”中国外贸发展聚焦高质量 不断扩大自贸“朋友圈”
- 专家解读:中国市场对美企磁力十足
- “恶搞零食”网上售卖 多地对有关“网红”产品进行整治
- 钢铁行业碳达峰方案将实施 实现“双碳”面临哪些挑战
- 摄影师拍摄上千张照片月球照片 最终合成一张七龙珠照片
- 山东省第10万个5G基站开通 5G终端用户数达2919.3万户
- 曝一加10Pro或1月登场 首批搭载骁龙8Gen1旗舰
- 索尼PS5Pro渲染图曝光 最高可以支持8K分辨率游戏
- 数据线也是每天都要用的产品 老旧充电数据线更容易出现短路
- 董明珠22岁秘书曾是MCN签约红人 抖音带货套路太深
- 称苹计划明年率先发布AR头戴设备 售价将在1000美元左右
- 抖音开测短剧付费模式 每集最低1元起付费后可重复观看
- 福建构建“双循环”重要节点通道 推进更高水平开放
- 【同心粤港澳 携手大湾区】走进南头古城:同宗同源 大湾区文旅交融发展进行时
- 【同心粤港澳 携手大湾区】大湾区青年都是受益者 要勇敢创业和追梦
- 亚洲青年领袖论坛聚焦发挥青年力量 致力科技创新
- 贵州6000公里县乡公路换“新颜” 构筑乡村振兴“快车道”
- 颐和园游客服务中心开放 投用北京首个公园智慧游客服务系统
- 成都至兰州铁路特长和极高风险跃龙门隧道左线贯通
- 千年古港开启新航程 建设“一带一路”临海大枢纽
- 吸引超3万家企业争相落户 这个试验区究竟有什么独特吸引力?
- 前海成热土 力助港澳青年创新创业
- 云南红河:数字化赋能“花经济”,“云花”产业未来可期
- 【同心粤港澳 携手大湾区】珠海加快大湾区科创协同发展
- 国家企业信用信息公示系统升级 公众实名认证即可登录查询企业信息
- 【同心粤港澳 携手大湾区】广州推动大湾区融合发展加速进行时
- 中经评论:用好用足政策,为中小企业纾困解难
- 这块“种业芯片”基地 种了上千个蔬菜新品种
- 坚守初心做好茶
- 拉夏贝尔被野性消费,“中国版ZARA”起死回生?
- “骨折价”工抵房,天上掉馅饼还是天大的套路?
- 滇藏铁路重要进展:中国钢架支护压力最大铁路隧道平导贯通
- 陕西特色农产品赴粤推介 开拓大湾区市场
- 远光区块链社团管理平台通过国家网信办第六批区块链信息服务备案
- 探访“中国月柿之乡”:小机器助力大丰收 电商直播促销量
- 内蒙古发展泛口岸经济:“经济通道”向“通道经济”转变
- 大湾区风景无限好 外商开拓正当时
- 陆海新通道毕节公路班车首发 3万余美元脱水南瓜条出口韩国
- “数字时代的数字资源安全”圆桌研讨会在北京举行
- 中航光电华南产业基地项目广州动工 年产值将达55亿元
- 买全球、卖全球!南沙港积极打造新型国际贸易枢纽