Scala 集合Set-1
集合 是一个只包含 唯一项目 的集合。 集合的唯一性是由set所持有的类型的==方法定义的。如果你试图在集合中添加一个重复的项目,那么set会悄悄地抛弃你的请求。
语法
// Immutable set
val variable_name: Set[type] = Set(item1, item2, item3)
or
val variable_name = Set(item1, item2, item3)
// Mutable Set
var variable_name: Set[type] = Set(item1, item2, item3)
or
var variable_name = Set(item1, item2, item3)
关于Scala中Set的一些重要观点
- 在Scala中,可变和不可变的集合都是可用的。可变集是那些对象的值会发生变化的集,但在不可变集中,对象的值本身不会发生变化。
- Scala中默认的集合是不可变的。
- 在Scala中,不可变集被定义在Scala.collection.immutable.包中,而可变集被定义在Scala.collection.mutable.包中。
- 我们也可以在Scala.collection.immutable._包下定义一个可变的集合,如下面的例子所示。
- 一个集合有各种方法来添加、删除、清除、大小等,以提高集合的使用。
- 在Scala中,我们可以创建空集。
语法:
// Immutable empty set
val variable_name = Set()
// Mutable empty set
var variable_name = Set()
例1 :
// Scala program to illustrate the
// use of immutable set
import scala.collection.immutable._
object Main
{
def main(args: Array[String])
{
// Creating and initializing immutable sets
val myset1: Set[String] = Set("Geeks", "GFG",
"GeeksforGeeks", "Geek123")
val myset2 = Set("C", "C#", "Java", "Scala",
"PHP", "Ruby")
// Display the value of myset1
println("Set 1:")
println(myset1)
// Display the value of myset2 using for loop
println("\nSet 2:")
for(myset<-myset2)
{
println(myset)
}
}
}
输出
Set 1:
Set(Geeks, GFG, GeeksforGeeks, Geek123)
Set 2:
Scala
C#
Ruby
PHP
C
Java
例2 :
// Scala program to illustrate the
// use of mutable set
import scala.collection.immutable._
object Main
{
def main(args: Array[String])
{
// Creating and initializing mutable sets
var myset1: Set[String] = Set("Geeks", "GFG",
"GeeksforGeeks", "Geek123")
var myset2 = Set(10, 100, 1000, 10000, 100000)
// Display the value of myset1
println("Set 1:")
println(myset1)
// Display the value of myset2
// using a foreach loop
println("\nSet 2:")
myset2.foreach((item:Int)=>println(item))
}
}
输出
Set 1:
Set(Geeks, GFG, GeeksforGeeks, Geek123)
Set 2:
10
100000
10000
1000
100
例3 :
// Scala program to illustrate the
// use of empty set
import scala.collection.immutable._
object Main
{
def main(args: Array[String])
{
// Creating empty sets
val myset = Set()
// Display the value of myset
println("The empty set is:")
println(myset)
}
}
输出
The empty set is:
Set()
已排序的集合
在集合中, SortedSet 用于从集合中按排序的顺序获取值。SortedSet只适用于不可变的集合。
例子
// Scala program to get sorted values
// from the set
import scala.collection.immutable.SortedSet
object Main
{
def main(args: Array[String])
{
// Using SortedSet to get sorted values
val myset: SortedSet[Int] = SortedSet(87, 0, 3, 45, 7, 56, 8,6)
myset.foreach((items: Int)=> println(items))
}
}
输出
0
3
6
7
8
45
56
87