本文详细介绍了Java中栈的用法,并通过示例,加深理解。

Java Stack 类

栈是Vector的一个子类,它实现了一个标准的后进先出的栈。
栈只定义了默认构造函数,用来创建一个空栈。 栈除了包括由Vector定义的所有方法,也定义了自己的一些方法。

创建一个空栈

Stack()

测试栈是否为空

boolean empty()

查看栈顶部的对象,但不从栈中移除它

Object peek( )

移除栈顶部的对象,并作为此函数的值返回该对象

Object pop( )

把项压入栈顶部

Object push(Object element)

返回对象在栈中的位置,以 1 为基数

int search(Object element)

用栈Stack 创建对象(类型不同)

Stack<Integer> stack = new Stack<>();
Stack<Character> stack = new Stack<>();

示例

//1.创建一个字符型的栈
Stack<Character> stack=new Stack<>();
System.out.println(stack);
//2.测试栈是否为空
System.out.println(stack.empty());
//3.入栈
stack.push('a');
stack.push('b');
stack.push('c');
System.out.println(stack);
//4.查看栈顶元素
System.out.println(stack.peek());
System.out.println(stack);
//5.出栈
stack.pop();
System.out.println(stack);
//6.返回对象在栈中的位置
System.out.println(stack.search('b'));
System.out.println(stack.search('a'));

输出结果:

[]
true
[a, b, c]
c
[a, b, c]
[a, b]
1
2