📅  最后修改于: 2023-12-03 15:19:58.978000             🧑  作者: Mango
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
获取堆栈的大小。请注意,在调用 top
或 pop()
方法之前,我们必须使用 isEmpty
方法检查堆栈是否为空,以避免出现异常。