📅  最后修改于: 2023-12-03 14:47:16.103000             🧑  作者: Mango
SortedMap 是一个可以自动根据键排序的 Map,而 Mutable SortedMap 表示一个可变的 SortedMap。除了 Map 常用的方法外,SortedMap 还有一些方便的迭代器方法可以使用,本文将介绍这些方法并提供一些示例。
下面是 Mutable SortedMap 提供的迭代器方法:
def keysIterator: Iterator[A]
返回一个迭代器,该迭代器按升序遍历 SortedMap 中的所有键(SortedMap 默认按键升序排序)。
def valuesIterator: Iterator[B]
返回一个迭代器,该迭代器按升序遍历 SortedMap 中的所有值。
def iterator: Iterator[(A, B)]
返回一个迭代器,该迭代器按升序遍历 SortedMap 中的所有元素,每个元素表示一个键值对。
def from(key: A): Iterator[(A, B)]
返回一个迭代器,该迭代器按升序遍历 SortedMap 中从指定的键开始的所有元素,每个元素表示一个键值对。
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