Java之Stack详解
2015-04-24 16:37
651 查看
第1部分 Stack介绍
Stack简介Stack是栈。它的特性是:先进后出(FILO, First In Last Out)。java工具包中的Stack是继承于Vector(矢量队列)的,由于Vector是通过数组实现的,这就意味着,Stack也是通过数组实现的,而非链表。当然,我们也可以将LinkedList当作栈来使用!在“Java集合系列06之 Vector详细介绍(源码解析)和使用示例”中,已经详细介绍过Vector的数据结构,这里就不再对Stack的数据结构进行说明了。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> {}Stack和Collection的关系如下图:
![](http://images.cnitblog.com/blog/497634/201309/08213747-6f2f69ba19e9485f9f6ae8c17f0f253b.jpg)
Stack()Stack的APIStack是栈,它常用的API如下:
boolean empty() synchronized E peek() synchronized E pop() E push(E object) synchronized int search(Object o)由于Stack和继承于Vector,因此它也包含Vector中的全部API。
第2部分 Stack源码解析(基于JDK1.6.0_45)
Stack的源码非常简单,下面我们对它进行学习。![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
第3部分 Vector示例
下面我们通过实例学习如何使用Stack![](http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 2 3 4 5 the postion of 2 is:4 1 2 3 4 peek:4 1 2 3 4 1 2 3 4
原文地址:http://www.cnblogs.com/skywang12345/p/3308852.html
相关文章推荐
- Java中StackOverflowError与OutOfMemoryError详解
- java 实现 stack详解及实例代码
- java_集合体系之Stack详解、源码及示例——06
- java集合-Stack(栈)详解
- java8 集合之Stack详解及实例
- Java集合Stack源码详解
- 用java源代码学数据结构<五>: Stack 详解
- java中的堆(heap)和栈(stack)-详解
- C++调用JAVA方法详解(转)
- java 包 修饰符 权限详解
- Java本地调用JNI使用规范详解
- Java SHA-256加密的两种实现方法详解
- Java方法参数(形参)被final修饰符修饰详解
- java正则表达式详解
- Java:Object类详解
- 剑指offer第十题之第十六题(java详解)
- Java 蒙特卡洛算法求圆周率近似值实例详解
- 快速排序详解以及java实现
- Java-Stack
- java之yield(),sleep(),wait()区别详解-备忘笔记