Java中的堆栈类Stack类

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)

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。
  •   本文标题:Java中的堆栈类Stack类 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/5319.html

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注

    更多阅读