博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Collection源码分析(八):Stack源码分析
阅读量:7206 次
发布时间:2019-06-29

本文共 360 字,大约阅读时间需要 1 分钟。

hot3.png

Stack是一个数据栈结构,这个类是Vector的子类

更具栈的特性,先进后出,后进先出可以知道,这是一个数组结构的栈结构

构造器:

153418_rLSN_2970507.png

只有一个空构造器,更具JAVA类加载机制,在这里会去隐形调用父类的构造器,super()也就是Vector的空构造器。返回一个数组;

主要方法为入栈,出栈,(push,pop,peek)

入栈方法:push

153721_bheX_2970507.png

153733_ANi6_2970507.png

入栈主要调用的是Vector的add的主体方法

peek方法

153918_rzhq_2970507.png

是返回 位于栈顶的元素

pop方法

153950_FRnk_2970507.png

154004_eXEI_2970507.png

可以看到 pop是将栈顶的元素出栈,然后整体长度-1 并将最后一个元素赋值为null,留给jvm去经过一次Minor GC回收这块内存区域。

注意到 这里的Stack也是线程安全的

转载于:https://my.oschina.net/u/2970507/blog/1819963

你可能感兴趣的文章
JDBC
查看>>
github桌面工具commit不了解决
查看>>
HTML 笔记
查看>>
Lucene
查看>>
Manjaro搭建无密访问samba服务器
查看>>
Java-JSON
查看>>
阿里云服务器磁盘挂载
查看>>
关于Python的一些基础操作
查看>>
70. Climbing Stairs
查看>>
C/C++语言中的结构体对齐
查看>>
css基础
查看>>
平衡树初阶——AVL平衡二叉查找树+三大平衡树(Treap + Splay + SBT)模板【超详解】...
查看>>
如果类型是dynamic的且其属性也是dynamic的
查看>>
liinux 下mysql常用命令
查看>>
如何用SQL语句查询Excel数据?
查看>>
用js实现分页功能以及利用xml实现分页功能——数据岛
查看>>
《Programming in Lua 3》读书笔记(十九)
查看>>
html知识点总结
查看>>
博客园
查看>>
Three.js加载3D模型
查看>>