Scala集合与可变对象全解析
1. 排序集合:Sorted sets和Sorted maps
在某些情况下,你可能需要一个迭代器能按特定顺序返回元素的集合或映射。Scala集合库提供了 SortedSet
和 SortedMap
特质,这些特质由 TreeSet
和 TreeMap
类实现。这两个类使用红黑树来对元素( TreeSet
)或键( TreeMap
)进行排序,排序顺序由 Ordered
特质决定,集合的元素类型或映射的键类型必须混入该特质或能隐式转换为该特质。这些类只有不可变版本。
以下是 TreeSet
的示例:
scala> import scala.collection.immutable.TreeSet
import scala.collection.immutable.TreeSet
scala> val ts = TreeSet(9, 3, 1, 8, 0, 2, 7, 4, 6, 5)
ts: scala.collection.immutable.TreeSet[Int] =
TreeSet(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
scala> val cs = TreeSet('f', 'u', 'n')
cs: scala.collection.immutable.TreeSet[Char] =
TreeSet(f