Stack 类是 java.util 包的一部分,它实现了堆栈数据结构。 java中的栈类按照LIFO(后进先出)的原则运行。 Stack 类提供基本的压入和弹出操作以及附加功能,例如清空、查看和搜索。 stack类提供了不同的方法来执行不同的操作。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
语法:
这是在 java 中如何使用堆栈类的基本语法:
import java.util.*; // instantiate stack through default constructor Public class Myclass{ // instantiate stack class Stack stack = new Stack(); stack.push(1); // calling push method to insert an element }
Stack类是java.util包的一部分,它扩展了Vector类并实现了List接口。 Vector 类在 java 中是可调整大小的,这意味着它可以在添加新元素时增大大小,并在删除元素后缩小大小。由于堆栈类扩展了向量,因此它本质上也是可调整大小的。要使用堆栈类,我们必须通过构造函数创建堆栈类的实例。由于堆栈类是可调整大小的,因此其中只有一个默认构造函数可用。
获取实例后,可以根据需要调用以下方法:
部分示例如下:
现在我们将看到一个java代码示例,说明如何在堆栈中使用上述方法。
代码:
//import stack class import java.util.Stack; public class StackDemo { public static void main(String[] args) { // Creating Instance of Stack Stack<String> numbers = new Stack<>(); // stack of type string only string type elements can be inserted // Pushing new elements to the Stack numbers.push("One"); numbers.push("Two"); numbers.push("Three"); numbers.push("Four"); int size= numbers.size(); // finding size of stack System.out.println("Stack contains => " + numbers); System.out.println("Size of Stack is => " + size); System.out.println(); // Popping Elements from the Stack String numbersAtTop = numbers.pop(); // Throws EmptyStackException if the stack is empty System.out.println("Element Removed => " + numbersAtTop); System.out.println("Current State of Stack => " + numbers); size= numbers.size(); System.out.println("Size of Stack is => " + size); System.out.println(); // Get the element at the top of the stack without removing it numbersAtTop = numbers.peek(); System.out.println("Top Most elemement of stack => " + numbersAtTop); System.out.println("Current State of Stack => " + numbers); // searching for an element in stack int index = numbers.search("Two"); System.out.println("Element found at Index " + index); // check if the stack is empty boolean isempty = numbers.empty(); System.out.println("Is Stack Empty => " + isempty); }}
上面的程序展示了如何在堆栈类上执行不同的操作,如入栈、出栈、查看、搜索、清空等。
现在我们将了解如何迭代堆栈类的元素。
代码:
//import stack class import java.util.Stack; //import stream to iterate over stack import java.util.stream.Stream; public class StackDemo { public static void main(String[] args) { // Creating Instance of Stack Stack<String> numbers = new Stack<>(); // stack of type string only string type elements can be inserted // Pushing new elements to the Stack numbers.push("First"); numbers.push("Second"); numbers.push("Third"); numbers.push("Fourth"); System.out.println("Stack contains => " + numbers); System.out.println(); // getting stream object to iterate over elements of stack Stream stream = numbers.stream(); System.out.println("Iterating stack using stream >> "); stream.forEach((item) -> { System.out.println(item); // print item }); } }
上面的程序展示了我们如何迭代堆栈的元素。我们需要在堆栈实例上调用stream()方法,该方法返回Stream对象。然后我们可以使用流类的 forEach 方法迭代堆栈。
在本文中,我们了解了堆栈类。此外,我们还了解了如何实例化堆栈类并使用堆栈类中可用的不同方法。我们已经观察到可以使用 Stack 类执行的各种操作。上面显示的 Java 代码示例完全清晰地介绍了堆栈类。
以上是Java中的栈类的详细内容。更多信息请关注PHP中文网其他相关文章!