亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 堆栈类

Java 堆栈类

在本教程中,我们将通过示例了解 Java Stack 类及其方法。

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

Stack 类扩展了 Vector 类。


堆栈实现

在栈中,元素以后进先出的方式存储和访问 方式。即元素被添加到栈顶,从栈顶移除。


创建堆栈

为了创建堆栈,我们必须导入 java.util.Stack 先打包。导入包后,下面是我们如何在 Java 中创建堆栈。

Stack<Type> stacks = new Stack<>();

这里,Type 表示堆栈的类型。例如,

// Create Integer type stack
Stack<Integer> stacks = new Stack<>();

// Create String type stack
Stack<String> 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<String> animals= new Stack<>();

        // Add elements to 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<String> animals= new Stack<>();

        // Add elements to Stack
        animals.push("Dog");
        animals.push("Horse");
        animals.push("Cat");
        System.out.println("Initial Stack: " + animals);

        // Remove element stacks
        String element = animals.pop();
        System.out.println("Removed Element: " + element);
    }
}

输出

Initial Stack: [Dog, Horse, Cat]
Removed Element: Cat

peek() 方法

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

import java.util.Stack;

class Main {
    public static void main(String[] args) {
        Stack<String> animals= new Stack<>();

        // Add elements to Stack
        animals.push("Dog");
        animals.push("Horse");
        animals.push("Cat");
        System.out.println("Stack: " + animals);

        // Access element from the top
        String element = animals.peek();
        System.out.println("Element at top: " + element);

    }
}

输出

Stack: [Dog, Horse, Cat]
Element at top: Cat

要搜索堆栈中的元素,我们使用 search() 方法。它从栈顶返回元素的位置。例如,

import java.util.Stack;

class Main {
    public static void main(String[] args) {
        Stack<String> animals= new Stack<>();

        // Add elements to Stack
        animals.push("Dog");
        animals.push("Horse");
        animals.push("Cat");
        System.out.println("Stack: " + animals);

        // Search an element
        int position = animals.search("Horse");
        System.out.println("Position of Horse: " + position);
    }
}

输出

Stack: [Dog, Horse, Cat]
Position of Horse: 2

empty() 方法

要检查堆栈是否为空,我们使用 empty() 方法。例如,

import java.util.Stack;

class Main {
    public static void main(String[] args) {
        Stack<String> animals= new Stack<>();

        // Add elements to Stack
        animals.push("Dog");
        animals.push("Horse");
        animals.push("Cat");
        System.out.println("Stack: " + animals);

        // Check if stack is empty
        boolean result = animals.empty();
        System.out.println("Is the stack empty? " + result);
    }
}

输出

Stack: [Dog, Horse, Cat]
Is the stack empty? false

使用 ArrayDeque 代替 Stack

Stack 类提供栈数据结构的直接实现。但是,建议不要使用它。相反,请使用 ArrayDeque 类(实现 Deque 接口)来实现Java中的栈数据结构。

要了解更多信息,请访问:


java

  1. Java final 关键字
  2. Java instanceof 运算符
  3. Java 继承
  4. Java 嵌套静态类
  5. Java 匿名类
  6. Java 单例类
  7. Java 反射
  8. Java ArrayList 类
  9. Java HashSet 类
  10. Java ObjectOutputStream 类
  11. Java 泛型
  12. Java 文件类