📌  相关文章
📜  Scala Mutable SortedMap 迭代器方法与示例(1)

📅  最后修改于: 2023-12-03 14:47:16.103000             🧑  作者: Mango

Scala Mutable SortedMap 迭代器方法与示例

SortedMap 是一个可以自动根据键排序的 Map,而 Mutable SortedMap 表示一个可变的 SortedMap。除了 Map 常用的方法外,SortedMap 还有一些方便的迭代器方法可以使用,本文将介绍这些方法并提供一些示例。

迭代器方法

下面是 Mutable SortedMap 提供的迭代器方法:

keysIterator
def keysIterator: Iterator[A]

返回一个迭代器,该迭代器按升序遍历 SortedMap 中的所有键(SortedMap 默认按键升序排序)。

valuesIterator
def valuesIterator: Iterator[B]

返回一个迭代器,该迭代器按升序遍历 SortedMap 中的所有值。

iterator
def iterator: Iterator[(A, B)]

返回一个迭代器,该迭代器按升序遍历 SortedMap 中的所有元素,每个元素表示一个键值对。

from
def from(key: A): Iterator[(A, B)]

返回一个迭代器,该迭代器按升序遍历 SortedMap 中从指定的键开始的所有元素,每个元素表示一个键值对。

until
def until(key: A): Iterator[(A, B)]

返回一个迭代器,该迭代器按升序遍历 SortedMap 中在指定的键之前的所有元素,每个元素表示一个键值对。

示例

下面是一些使用示例,假设有如下 SortedMap:

import scala.collection.mutable.SortedMap

val scores = SortedMap("Alice" -> 99, "Bob" -> 89, "Charlie" -> 75, "David" -> 88, "Eva" -> 92)

遍历 SortedMap 中的所有键:

val keys = scores.keysIterator
while (keys.hasNext) {
  val key = keys.next
  println(key)
}

遍历 SortedMap 中的所有值:

val values = scores.valuesIterator
while (values.hasNext) {
  val value = values.next
  println(value)
}

遍历 SortedMap 中的所有元素(键值对):

val elements = scores.iterator
while (elements.hasNext) {
  val (key, value) = elements.next
  println(key + ":" + value)
}

遍历 SortedMap 中从指定键开始的所有元素:

val elementsFromCharlie = scores.from("Charlie")
while (elementsFromCharlie.hasNext) {
  val (key, value) = elementsFromCharlie.next
  println(key + ":" + value)
}

遍历 SortedMap 中在指定键之前的所有元素:

val elementsBeforeCharlie = scores.until("Charlie")
while (elementsBeforeCharlie.hasNext) {
  val (key, value) = elementsBeforeCharlie.next
  println(key + ":" + value)
}

以上示例均输出如下结果:

Alice
Bob
Charlie
David
Eva