📜  Scala集合-堆栈(1)

📅  最后修改于: 2023-12-03 15:19:58.978000             🧑  作者: Mango

Scala集合 - 堆栈

Scala提供了一个名为 Stack 的堆栈集合类,该类用于实现堆栈数据结构。堆栈是一种后进先出(LIFO)的数据结构,其中加入最后一个元素,移除最后一个元素。

创建堆栈

要使用堆栈,我们需要导入 scala.collection.mutable.Stack 类。然后,我们可以创建一个空的堆栈使用如下代码:

import scala.collection.mutable.Stack

val stack = new Stack[Int]
添加元素到堆栈

要将元素添加到堆栈中,我们可以使用 push() 方法。该方法接受要添加的元素作为参数。例如,以下代码向堆栈中添加三个元素:

stack.push(1)
stack.push(2)
stack.push(3)
获取堆栈顶部元素

我们可以使用 top 方法获取堆栈顶部的元素。例如,以下代码将返回堆栈顶部的元素 3:

val topElement = stack.top  // 3

请注意,当堆栈为空时,top 方法调用将引发 java.util.NoSuchElementException 异常。为避免出现此异常,我们可以使用 isEmpty 方法首先检查堆栈是否为空,如下所示:

if (!stack.isEmpty) {
  val topElement = stack.top
}
从堆栈中弹出元素

我们可以使用 pop() 方法从堆栈中弹出元素。该方法将从堆栈中删除元素并返回删除的元素。例如,以下代码从堆栈中弹出并打印出所有元素:

while (!stack.isEmpty) {
  println(stack.pop())
}

该代码将按以下方式打印输出:

3
2
1
堆栈大小

我们可以使用 size 方法获取堆栈的大小。例如,以下代码将返回堆栈的大小,该堆栈在前面的示例中添加了三个元素,然后从中弹出了两个元素:

val stack = new Stack[Int]

stack.push(1)
stack.push(2)
stack.push(3)

stack.pop()
stack.pop()

val stackSize = stack.size  // 1
总结

Scala中的 Stack 集合类提供了一种方便的方法来实现堆栈数据结构。我们可以使用 push() 将元素添加到堆栈中,top 获取堆栈顶部的元素,pop() 从堆栈中弹出元素并使用 size 获取堆栈的大小。请注意,在调用 toppop() 方法之前,我们必须使用 isEmpty 方法检查堆栈是否为空,以避免出现异常。