黑马程序员--java集合中的数据结构

本文探讨了Java集合框架中的数据结构,包括线性表(顺序表与链表)、栈与队列(顺序栈、链栈、循环队列、双向队列)以及红黑树。顺序表适用于频繁查找但插入删除较少的情况,而链表则适合频繁插入删除。栈遵循后进先出原则,队列遵循先进先出原则。循环队列解决了顺序队列的假溢出问题。红黑树是一种自平衡的排序二叉树,用于提高检索效率。
摘要由CSDN通过智能技术生成
         ------- android培训 java培训 、期待与您交流! ----------

  乍一看,集合的体系还是相当大的,需要快速掌握对集合各种类的使用环境需要对其底层的数据结构进行了解掌握。我在此就分享一下集合中涉及以及一些常用的数据结构。java集合框架中涉及的数据结构有与ArrayList中数组类似的顺序表,LinkedList中的双端队列链表,Stack的栈,以及TreeMap中的红黑树。

一、线性表(LinearList)

      线性表:是n(n≥0)个具有相同类型的数据元素的有限序列。

1、顺序表--线性表的顺序结构

  顺序表:用一组地址连续的存储单元一次存放线性表的元素。设顺序表中放入的数值依次为1、2、3等,则其存储结构图如下:

                               

从上面的图形就可以很快发现,顺序表与一维数组相似,顺序表的底层是靠数组来实现的。顺序表是一种随机存取的存储结构,依靠下标进行查询,因此效率高,但增删操作时,需要移动大量元素。

2、链表--线性表的链式存储结构

   链表:采用一组地址任意的存储单元存放线性表中的元素,链式结构的线性表不会按照线性的逻辑顺序来保存数据元素,他需要在每一个元素中保存一个指向下一个元素的引用。

   链表的基本存储结构单元:有序元素需要保存下一个元素的引用, 因此,其结构单元中具有data存放内容,next存放下一个元素的引用,如图

              

  单链表--最简单的链表

  单链表:由一组存储单元连接而成,结构图如下,

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值