Scala Set(集合)

Scala Set(集合)是没有重复的对象集合,所有的元素都是唯一的。Scala 集合分为可变的和不可变的集合。

默认情况下,Scala 使用的是不可变集合,如果你想使用可变集合,需要引用 scala.collection.mutable.Set 包。默认引用 scala.collection.immutable.Set。

虽然可变 Set 和不可变 Set 都有添加或删除元素的操作,但是有一个非常大的差别。对不可变 Set 进行操作,会产生一个新的 set,原来的 set 并没有改变,这与 List 一样。 而对可变 Set 进行操作,改变的是该 Set 本身,与 ListBuffer 类似。

案例

object HaiCoder { def main(args: Array[String]) : Unit = { println("嗨客网(www.haicoder.net)!\n") val set = Set(1,2,3) println(set.getClass.getName) println(set.exists(_ % 2 == 0)) println(set.drop(1)) } }

程序运行后,输出如下:

07_Scala集合set.png

我们使用 Set 创建了一个集合。如果需要使用可变集合需要引入 scala.collection.mutable.Set:

import scala.collection.mutable.Set // 可以在任何地方引入 可变集合 object HaiCoder { def main(args: Array[String]) : Unit = { println("嗨客网(www.haicoder.net)!\n") val mutableSet = Set(1,2,3) println(mutableSet.getClass.getName) // scala.collection.mutable.HashSet mutableSet.add(4) mutableSet.remove(1) mutableSet += 5 mutableSet -= 2 println(mutableSet) // Set(5, 3, 4) val another = mutableSet.toSet println(another.getClass.getName) // scala.collection.immutable.Set } }

程序运行后,输出如下:

08_Scala集合set.png

这里,我们创建的是可变集合,因此,可以对集合里的元素进行修改。

Scala Set(集合)总结

Scala Set(集合)是没有重复的对象集合,所有的元素都是唯一的。Scala 集合分为可变的和不可变的集合。

默认情况下,Scala 使用的是不可变集合,如果你想使用可变集合,需要引用 scala.collection.mutable.Set 包。默认引用 scala.collection.immutable.Set。