千家信息网

Java栈如何实现

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本篇内容介绍了"Java栈如何实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!栈栈 (Stack)
千家信息网最后更新 2025年02月02日Java栈如何实现

本篇内容介绍了"Java栈如何实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    栈 (Stack) 是一种运算受限的线性表, 遵循先进后出的原则 (Last-In-First-Out). 举个例子, 当我们灌调料的时候, 后灌进去的调料会先被使用.

    栈只能在表尾部进行插入和删除的操作. 开口的一端被称为栈顶, 另一端则被称为栈底. 如图:

    栈实现

    push 方法

    栈 (Stack) 的 push 方法, 把项压入栈顶部.

    代码:

    // push方法public void push(E element){    array.add(array.size(), element);}

    pop 方法

    栈 (Stack) 的 pop 方法, 移除栈顶对象并返回.

    代码:

    // pop方法public E pop(){    E element = array.get(array.size() - 1);    array.remove(array.size() - 1);    return element;}

    main

    public static void main(String[] args) {        // 创建栈    Stack stack = new Stack<>();            // push6个元素    for (int i = 0; i < 5; i++) {        stack.push(i);        System.out.println(stack);    }                // pop 5个元素    for (int i = 0; i < 5; i++) {        stack.pop();        System.out.println(stack);    }}

    输出结果:

    stack{array=[0]}
    stack{array=[0, 1]}
    stack{array=[0, 1, 2]}
    stack{array=[0, 1, 2, 3]}
    stack{array=[0, 1, 2, 3, 4]}
    stack{array=[0, 1, 2, 3]}
    stack{array=[0, 1, 2]}
    stack{array=[0, 1]}
    stack{array=[0]}
    stack{array=[]}

    完整代码

    import java.util.ArrayList;public class Stack {    private ArrayList array;    // 无参构造    public Stack() {        array = new ArrayList();    }    // 有参构造    public Stack(int capacity){        array = new ArrayList(capacity);    }    // push方法    public void push(E element){        array.add(array.size(), element);    }    // pop方法    public E pop(){        E element = array.get(array.size() - 1);        array.remove(array.size() - 1);        return element;    }    @Override    public String toString() {        return "stack{" +                "array=" + array +                '}';    }    public static void main(String[] args) {                // 创建栈        Stack stack = new Stack<>();        // push6个元素        for (int i = 0; i < 5; i++) {            stack.push(i);            System.out.println(stack);        }        // pop5个元素        for (int i = 0; i < 5; i++) {            stack.pop();            System.out.println(stack);        }    }}

    "Java栈如何实现"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

    0