📅  最后修改于: 2023-12-03 15:34:50.716000             🧑  作者: Mango
Scala 中的不可变 TreeSet(红黑树)是一个有序的集合,用于存储无重复元素。不可变的意思是不能修改已经存在的集合,添加或删除元素都会返回一个新的 TreeSet。而 &() 方法则是用来过滤集合中符合条件的元素。
通过使用 TreeSet 的 companion object 中的 apply 方法可以很方便地创建一个 TreeSet,如下所示:
import scala.collection.immutable.TreeSet
val treeSet = TreeSet(1, 2, 3, 4, 5)
添加或删除元素都会返回一个新的 TreeSet,原有的 TreeSet 不变。添加元素可以使用 + 操作符,删除元素可以使用 - 操作符:
val newTreeSet = treeSet + 6
println(newTreeSet) // TreeSet(1, 2, 3, 4, 5, 6)
val removedTreeSet = newTreeSet - 3
println(removedTreeSet) // TreeSet(1, 2, 4, 5, 6)
通过使用 &() 方法可以很方便地过滤出符合条件的元素,并返回一个新的 TreeSet。例如,要求集合中的所有大于 3 的元素:
val filteredTreeSet = newTreeSet > 3
println(filteredTreeSet) // TreeSet(4, 5, 6)
import scala.collection.immutable.TreeSet
object Main extends App {
val treeSet = TreeSet(1, 2, 3, 4, 5)
println(treeSet) // TreeSet(1, 2, 3, 4, 5)
val newTreeSet = treeSet + 6
println(newTreeSet) // TreeSet(1, 2, 3, 4, 5, 6)
val removedTreeSet = newTreeSet - 3
println(removedTreeSet) // TreeSet(1, 2, 4, 5, 6)
val filteredTreeSet = newTreeSet > 3
println(filteredTreeSet) // TreeSet(4, 5, 6)
}