Java Pop

2025年5月8日 | 阅读 4 分钟

Java 编程支持不同的数据结构,如数组、链表、栈、队列等。每种数据结构都有插入、删除、查找元素等操作。为了实现这些操作,Java 编程提供了内置的类和方法。在本节中,我们将通过 Stack.pop() 方法来理解 pop 操作。

Java Pop

Java 提供了三个 pop() 方法,它们属于三个不同的类和接口,如下所示。

  • Java Stack.pop() 方法
  • Java LinkedList.pop() 方法
  • Java Deque.pop() 方法

其中,Stack 和 LinkedList 是类,Deque 是一个接口。让我们来看看类和接口的 pop() 方法。

Java Stack.pop() 方法

Java 中的栈数据结构是一种线性数据结构,它基于 LIFO(后进先出)方法。Stack 类定义在 Java 集合框架中,属于 java.util 包。栈可以通过两种方式实现:

  • 使用数组
  • 使用 Java 集合框架

栈数据结构实现了不同的操作。例如,push 表示添加一个新元素,pop 表示删除一个现有元素,search 表示查找指定元素,以及检查栈是否为空。

语法

它返回栈顶的对象,即 Vector 对象中的最后一个元素。如果栈为空,它将抛出 EmptyStackException

以下程序演示了使用 Stack 类实现 pop 操作。

StackPopDemo.java

输出

Contents of Stack after addition of elements: [My, First, Stack, Implementation]
Popped element 1: Implementation
Popped element 2: Stack
Contents of Stack after deletion of elements: [My, First]

在上面的代码中,通过创建 Stack 类的实例 stk 来实现栈数据结构。基本操作使用内置的 push()pop() 方法来执行。

Java LinkedList.pop() 方法

Java LinkedList 类实现了双向链表来存储元素。Java 集合在 java.util 包中提供了 LinkedList 类的定义。该类的 pop() 方法会移除栈顶的元素。

语法

该方法在 Deque<E> 接口中指定。它返回列表前端的元素,即此列表表示的栈顶。>. 它与 removeFirst() 方法的作用相同。

如果列表为空,它将抛出 NoSuchElementException

以下程序演示了在表示为栈的 LinkedList 中实现 pop 操作。

LinkedListPopDemo.java

输出

Linked List after adding new elements: [Implementating, Linked, List]
Deleted element 1: Implementating
New Linked List: [Stack, Linked, List]

在上面的代码中,使用栈表示实现了链表。并且使用 push()pop() 方法来添加和删除链表中的元素。

Java Deque.pop() 方法

Deque(双端队列)是一种线性数据结构,它允许在两端进行插入和删除。java.util 包提供了 Deque 接口。它由 ArrayDeque、LinkedList 等各种类实现。

语法

它返回 Deque 前端的元素,即此 Deque 表示的栈顶。如果 Deque 为空,它将抛出 NoSuchElementException

以下程序演示了在 Deque 中实现 pop 操作。

DequePopDemo.java

输出

Deque after insertion: 
3
2
1
After deletion: 
2
1

在上面的代码中,创建了 Deque 类的实例 dq。并且使用 push()pop() 方法实现了基本操作。