- Java.util 包类
- Java.util - 首页
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util 包扩展
- Java.util - 接口
- Java.util - 异常
- Java.util - 枚举
- Java.util 有用资源
- Java.util - 有用资源
- Java.util - 讨论
Java Stack 类
介绍
Stack 是 Vector 的一个子类,它实现了标准的后进先出栈。
Stack 只定义了默认构造函数,它创建一个空栈。Stack 包含 Vector 定义的所有方法,并添加了一些自己的方法。
Java Stack 类表示对象的后进先出 (LIFO) 栈。
当第一次创建栈时,它不包含任何项目。
在这个类中,最后插入的元素首先被访问。
类声明
以下是java.util.Stack 类的声明:
public class Stack<E> extends Vector<E>
类构造函数
序号 | 构造函数 & 描述 |
---|---|
1 | Stack() 此构造函数创建一个空栈。 |
类方法
序号 | 方法 & 描述 |
---|---|
1 | boolean empty()
此方法测试此栈是否为空。 |
2 | E peek()
此方法查看此栈顶部的对象,而不将其从栈中移除。 |
3 | E pop()
此方法移除此栈顶部的对象,并将其作为此函数的值返回。 |
4 | E push(E item)
此方法将一个项目压入此栈的顶部。 |
5 | int search(Object o)
此方法返回对象在此栈上的基于 1 的位置。 |
继承的方法
此类继承自以下类的方法:
- java.util.Vector
- java.util.Collection
- java.util.Object
- java.util.List
示例
以下程序说明了 Stack 集合支持的几种方法:
import java.util.*; public class StackDemo { static void showpush(Stack st, int a) { st.push(new Integer(a)); System.out.println("push(" + a + ")"); System.out.println("stack: " + st); } static void showpop(Stack st) { System.out.print("pop -> "); Integer a = (Integer) st.pop(); System.out.println(a); System.out.println("stack: " + st); } public static void main(String args[]) { Stack st = new Stack(); System.out.println("stack: " + st); showpush(st, 42); showpush(st, 66); showpush(st, 99); showpop(st); showpop(st); showpop(st); try { showpop(st); } catch (EmptyStackException e) { System.out.println("empty stack"); } } }
这将产生以下结果:
输出
stack: [ ] push(42) stack: [42] push(66) stack: [42, 66] push(99) stack: [42, 66, 99] pop -> 99 stack: [42, 66] pop -> 66 stack: [42] pop -> 42 stack: [ ] pop -> empty stack
广告