Java Collection框架提供了一个Stack类,用于建模和实现Stack数据结构。该课程基于后进先出的基本原则。除了基本的push和pop操作之外,该类还提供了另外三个函数:empty,search和peek。该类也可以说是扩展Vector并将该类视为具有上述五个函数的堆栈。该类也可以称为Vector的子类。 此图显示了Stack类的层次结构: Java中的堆栈类Stack类 该类支持一个默认构造函数 Stack(),用于创建空堆栈

Java中的堆栈类Stack类示例

下面的程序显示了Stack类提供的一些基本操作:

// Java code for stack implementation
 
import java.io.*;
import java.util.*;
 
class Test
{   
    // Pushing element on the top of the stack
    static void stack_push(Stack<Integer> stack)
    {
        for(int i = 0; i < 5; i++)
        {
            stack.push(i);
        }
    }
     
    // Popping element from the top of the stack
    static void stack_pop(Stack<Integer> stack)
    {
        System.out.println("Pop :");
 
        for(int i = 0; i < 5; i++)
        {
            Integer y = (Integer) stack.pop();
            System.out.println(y);
        }
    }
 
    // Displaying element on the top of the stack
    static void stack_peek(Stack<Integer> stack)
    {
        Integer element = (Integer) stack.peek();
        System.out.println("Element on stack top : " + element);
    }
     
    // Searching element in the stack
    static void stack_search(Stack<Integer> stack, int element)
    {
        Integer pos = (Integer) stack.search(element);
 
        if(pos == -1)
            System.out.println("Element not found");
        else
            System.out.println("Element is found at position " + pos);
    }
 
 
    public static void main (String[] args)
    {
        Stack<Integer> stack = new Stack<Integer>();
 
        stack_push(stack);
        stack_pop(stack);
        stack_push(stack);
        stack_peek(stack);
        stack_search(stack, 2);
        stack_search(stack, 6);
    }
}

输出:

Pop :
4
3
2
1
0
Element on stack top : 4
Element is found at position 3
Element not found

Stack类中的方法

  1. Object push(Object element):将元素推送到堆栈顶部。
  2. Object pop():移除并返回堆栈的顶部元素。如果我们在调用堆栈为空时调用pop(),则抛出'EmptyStackException'异常。
  3. Object peek():返回堆栈顶部的元素,但不删除它。
  4. boolean empty():如果堆栈顶部没有任何内容,则返回true。否则,返回false。
  5. int search(Object element):确定对象是否存在于堆栈中。如果找到该元素,它将从堆栈顶部返回元素的位置。否则,它返回-1。
 
转载请保留页面地址:https://www.breakyizhan.com/java/5319.html
扫描二维码添加微信 
  • ,每次淘宝领取淘宝优惠券,淘宝购物更优惠。现在添加微信,还可以领取机械键盘50元优惠券!添加微信后回复机械键盘即可领取!
    支持我们,就用微信淘宝!