Java 集合系列 06 Stack详细介绍(源码解析)和使用示例

java 集合系列目录:

Java 集合系列 01 总体框架

Java 集合系列 02 Collection架构

Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例

Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 

Java 集合系列 05 Vector详细介绍(源码解析)和使用示例

Java 集合系列 06 Stack详细介绍(源码解析)和使用示例

 

第1部分 Stack介绍

Stack简介

Stack是栈。它的特性是:先进后出(FILO, First In Last Out)。

java工具包中的Stack是继承于Vector(矢量队列)的,由于Vector是通过数组实现的,这就意味着,Stack也是通过数组实现的而非链表。当然,我们也可以将LinkedList当作栈来使用!

Stack的继承关系

Java 集合系列 06 Stack详细介绍(源码解析)和使用示例
java.lang.Object
?     java.util.AbstractCollection<E>
   ?     java.util.AbstractList<E>
       ?     java.util.Vector<E>
           ?     java.util.Stack<E>

public class Stack<E> extends Vector<E> {}
Java 集合系列 06 Stack详细介绍(源码解析)和使用示例

Stack和Collection的关系如下图

Java 集合系列 06 Stack详细介绍(源码解析)和使用示例

 

Stack的构造函数

Stack只有一个默认构造函数,如下:

Java 集合系列 06 Stack详细介绍(源码解析)和使用示例
Stack()
Java 集合系列 06 Stack详细介绍(源码解析)和使用示例

Stack的API

Stack是栈,它常用的API如下:

Java 集合系列 06 Stack详细介绍(源码解析)和使用示例
boolean       empty()
synchronized E             peek()
synchronized E             pop()
             E             push(E object)
synchronized int           search(Object o)
Java 集合系列 06 Stack详细介绍(源码解析)和使用示例

由于Stack和继承于Vector,因此它也包含Vector中的全部API

第2部分 Stack源码解析(基于JDK1.7.0_45)

Stack的源码非常简单,下面我们对它进行学习。 

 


 

 

 

转载:http://www.cnblogs.com/skywang12345/p/3308852.html

Java 集合系列 06 Stack详细介绍(源码解析)和使用示例,布布扣,bubuko.com

Java 集合系列 06 Stack详细介绍(源码解析)和使用示例

上一篇:java synchronized


下一篇:iOS -Swift -基础语法二