📅  最后修改于: 2023-12-03 15:19:57.918000             🧑  作者: Mango
Scala中的Stack是一个具有后进先出(LIFO)特性的可变容器,可以在堆上分配内存空间。Stack类提供了toMap()方法来将Stack中的元素按顺序转换为Map。
toMap()方法没有参数,它返回Stack中元素按照顺序转换为的Map。
def toMap: Map[A, B]
以下示例演示了如何使用toMap()方法将Stack转换为Map:
import scala.collection.mutable.{Map, Stack}
val fruits = Stack("Apple", "Banana", "Orange", "Grapes")
val fruitMap = fruits.zipWithIndex.toMap
fruitMap.foreach{
case (key, value) => println(s"$key = $value")
}
//Output:
//Grapes = 3
//Orange = 2
//Banana = 1
//Apple = 0
在上面的示例中,我们创建了一个包含四个水果的Stack。然后我们使用zipWithIndex方法创建了一个包含水果索引的元组序列,接下来我们调用toMap()方法将其转换为Map。最后,我们使用foreach方法迭代Map并打印每个元素的键和值。
toMap()方法可以直接将Scala Stack中的元素按顺序转换为元素值和索引组成的Map。我们可以使用这个方法来快速创建具有唯一索引的Map,这很有用。