当前位置:   article > 正文

java 栈详细介绍

java 栈

1.介绍

  • 是一种线性数据结构,用于存储对象的集合。它基于后进先出(LIFO)
  • Java 集合框架提供了许多接口和类来存储对象的集合。其中之一是 Stack 类,它提供不同的操作,如推送、弹出、搜索等。
  • 堆栈数据结构有两个最重要的操作,即压入弹出 push 操作将一个元素插入栈中pop 操作从栈顶移除一个元素

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 空栈如果栈中没有元素,则称为空栈。当栈为空时,栈顶变量的值为-1。
    在这里插入图片描述
  • 当我们将一个元素压入堆栈时,栈顶会增加 1。
    Push 12, top=0
    Push 6, top=1
    Push 9, top=2

在这里插入图片描述
当我们从堆栈中弹出一个元素时,top 的值减 1。在下图中,我们弹出了 9。
在这里插入图片描述
在这里插入图片描述

2.Java 堆栈类

在 Java 中,Stack 是属于扩展 Vector 类的 Collection 框架的类。它还实现了接口 List、Collection、Iterable、Cloneable、Serializable。它表示对象的后进先出堆栈。
在这里插入图片描述

3.方法

  • 创建堆栈
Stack stk = new Stack();  
或者
Stack<type> stk = new Stack<>();  
  • 1
  • 2
  • 3
  • 对栈进行压入、弹出、查看和搜索操作。 Java Stack 类主要提供了五个方法来执行这些操作。除此之外,它还提供了 Java Vector 类的所有方法。

在这里插入图片描述

4.代码

public class Test {
    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);
    }
    static void stack_push(Stack<Integer> stack) {
        for (int i = 0; i < 5; i++) {
            stack.push(i);
        }
    }
    static void stack_pop(Stack<Integer> stack){
        for (int i = 0; i < 5; i++) {
            System.out.println("Pop Operation:");
            int y = stack.pop();
            System.out.println(y);
        }
    }
    static void stack_peek(Stack<Integer> stack)
    {
        int element = stack.peek();
        System.out.println("Element on stack top: " + element);
    }
    static void stack_search(Stack<Integer> stack,int element){
        Integer pos=stack.search(element);
        if(pos==-1) {
            System.out.println("Element not found");
        } else{
            System.out.println("Element is found at position: " + pos);
        }
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
Pop Operation:
4
Pop Operation:
3
Pop Operation:
2
Pop Operation:
1
Pop Operation:
0
Element on stack top: 4
Element is found at position: 3
Element not found
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/611813
推荐阅读
相关标签
  

闽ICP备14008679号