温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何进行Stack源码分析

发布时间:2021-12-08 15:46:25 来源:亿速云 阅读:120 作者:柒染 栏目:大数据

今天就跟大家聊聊有关如何进行Stack源码分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

我们介绍另一种底层也是用数据方式实现的集合,它就是Stack集合。Stack与ArrayList和Vector相比,有自己独特的一些特性。正是因为Stack有自己独特的特性,所以在使用上Stack与ArrayList、Vector相比有些区别,所以下面我们先了解一下Stack集合的基本使用,然后在分析Stack集合的底层源码。

Stack也就是栈,它和其它集合相比它的特性就是后进先出,也就是后添加到Stack集合中的元素,会被添加到栈的最顶位置。下面我们看一下在Stack集合中的都包括哪些方法。

如何进行Stack源码分析

下面我们通过一个简单的例子来演示上面方法的基本使用。

如何进行Stack源码分析

如何进行Stack源码分析

下面我们分析一下Stack集合的底层源码,还是和ArrayList集合和Vector集合一样,我们先看一下Stack集合的初始化。

如何进行Stack源码分析

源码中只有一个无参的构造主法,这就说明,在我们创建Stack对象时,并不会执行底层数组的初始化。

如何进行Stack源码分析

如何进行Stack源码分析

如何进行Stack源码分析

如何进行Stack源码分析

上面的代码是Stack集合把元素添加到栈顶的方法,我们看上面的代码是不是感觉似曾相识,好像和Vector集合的底层源码一模一样。这是因为Stack集合是Vector集合的子类,也就是Stack集合默认继承了Vector集合。下面是底层源码。

如何进行Stack源码分析

所以我们可以理解为Stack集合的底层实现原理和Vector集合是一样的,包括底层数组的自动扩展规律等特性都是一样的。也就是说Stack集合和Vector集合一样当底层数据超过最大容量时,会自动扩展为原来的2倍容量来存储元素。

下面我们看一下Stack集合中其它方法的底层实现,因为这些方法逻辑已经在Vector集合中介绍过了,并且方法的实现逻辑比较简单,这里我们就不在详细分析了,只是简单展示。

  • peek()

如何进行Stack源码分析

如何进行Stack源码分析

  • pop()

如何进行Stack源码分析

如何进行Stack源码分析

  • search(Object o)

如何进行Stack源码分析

看完上述内容,你们对如何进行Stack源码分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI