一、Stack:栈 概述
栈是一种先进后出(FILO)或后进先出(LIFO:Last in first out)的数据结构。
Stack是Vector的子类,比Vector多了几个方法,它的后进先出的特征,就是通过调用这几个方法实现的。
二、构造方法
Stack(): 创建一个空堆栈
源码跟踪:
构建一个空的栈。
三、常用方法
1、push(Object obj) 方法
Object push(Object item) :把元素压入栈顶,等价于add(item),这里为了更形象化,单独设计了一个push。
源码跟踪:
调用 Vector 的 addElement 方法(JDK1.8)
JDK1.9
然后是调用 Vector 中的 add 方法
2、peek() 方法
Object peek() :访问当前栈顶元素,但是不拿走栈顶元素
源码跟踪:
3、pop() 方法
Object pop():弹出栈顶元素
源码跟踪:
然后调用 Vector 的 removeElementAt 方法