首页 >> 知识 >> Java Stack(堆栈)

Java Stack(堆栈)

Java 方法重载Java Vector(向量)Java Stack(堆栈)

在本教程中,蜜桃成人网站入口将借助示例学习Java Stack类及其方法。

Java集合框架具有一个名为Stack的类,该类提供堆栈数据结构的功能。

本Stack类继承Vector类。

堆栈的实现

在堆栈中,元素以后进先出的方式存储和访问。也就是说,元素被添加到堆栈的顶部并从堆栈的顶部移除。

创建堆栈

为了创建堆栈,蜜桃成人网站入口必须先导入java.util.Stack包。导入包后,就可以使用Java创建堆栈。

Stack stacks = new Stack();

在此,Type指示堆栈的类型。例如,

//创建整数类型堆栈Stack stacks = new Stack();//创建字符串类型堆栈Stack stacks = new Stack();堆栈方法

由于Stack继承了Vector类,因此它继承了所有方法Vector。要了解不同的Vector方法,请访问Java Vector Class。

除了这些方法之外,Stack类还包括5个与Vector区别开来的方法。

push()方法

要将元素添加到堆栈的顶部,蜜桃成人网站入口使用push()方法。例如,

import java.util.Stack;class Main {    public static void main(String[] args) {        Stack animals= new Stack();        //将元素添加到Stack        animals.push("Dog");        animals.push("Horse");        animals.push("Cat");        System.out.println("Stack: " + animals);    }}

输出结果

Stack: [Dog, Horse, Cat]pop()方法

要从堆栈顶部删除元素,蜜桃成人网站入口使用pop()方法。例如,

import java.util.Stack;class Main {    public static void main(String[] args) {        Stack animals= new Stack();        //将元素添加到 Stack        animals.push("Dog");        animals.push("Horse");        animals.push("Cat");        System.out.println("初始堆栈: " + animals);        //删除堆栈元素,后进先出        String element = animals.pop();        System.out.println("删除元素: " + element);    }}

输出结果

初始堆栈: [Dog, Horse, Cat]删除元素: Catpeek()方法

该peek()方法从堆栈顶部返回一个对象。例如,

import java.util.Stack;class Main {    public static void main(String[] args) {        Stack animals= new Stack();        //将元素添加到Stack        animals.push("Dog");        animals.push("Horse");        animals.push("Cat");        System.out.println("Stack: " + animals);        //从顶部访问元素,后进先出的原则        String element = animals.peek();        System.out.println("顶部元素: " + element);    }}

输出结果

Stack: [Dog, Horse, Cat]顶部元素: Catsearch()方法

要搜索堆栈中的元素,蜜桃成人网站入口使用search()方法。它从堆栈的顶部返回元素的位置。例如,

import java.util.Stack;class Main {    public static void main(String[] args) {        Stack animals= new Stack();        //将元素添加到Stack        animals.push("Dog");        animals.push("Horse");        animals.push("Cat");        System.out.println("Stack: " + animals);        //搜索元素        int position = animals.search("Horse");        System.out.println("元素Horse的位置: " + position);    }}

输出结果

Stack: [Dog, Horse, Cat]元素Horse的位置: 2empty()方法

要检查堆栈是否为空,蜜桃成人网站入口使用empty()方法。例如,

import java.util.Stack;class Main {    public static void main(String[] args) {        Stack animals= new Stack();        //将元素添加到Stack        animals.push("Dog");        animals.push("Horse");        animals.push("Cat");        System.out.println("Stack: " + animals);        //检查堆栈是否为空        boolean result = animals.empty();        System.out.println("堆栈是空的吗? " + result);    }}

输出结果

Stack: [Dog, Horse, Cat]堆栈是空的吗? false使用ArrayDeque 代替 Stack

本Stack类提供直接执行堆栈的数据结构。但是,建议不要使用它。而是使用ArrayDeque类(实现Deque接口)在Java中实现堆栈数据结构。

要了解

网站地图