set
Set(集合)是没有重复的对象集合,所有的元素都是唯一的。
集合分为可变的和不可变的集合。
默认情况下,Scala 使用的是不可变集合,scala.collection.immutable.Set
如果可变集合,需要引用 scala.collection.mutable.Set。
1.默认(不可变)
val set=Set(1,2,3,4) set: scala.collection.immutable.Set[Int] = Set(1, 2, 3, 4) println(set.getClass.getName) scala.collection.immutable.Set$Set4 print(set.exists(_%2==0)) true println(set.drop(1)) Set(2, 3, 4)
2.可变集合 mutableSet.toSet-->imutableSet
import scala.collection.mutable.Set
val mutableSet=Set(1,2,3)
println(mutableSet.getClass.getName)
mutableSet.add(4)
println("mutableSet:" +mutableSet)
mutableSet.remove(3)
println("mutableSet:" +mutableSet)
mutableSet+=5
println("mutableSet:" +mutableSet)
mutableSet-=2
println("mutableSet:" +mutableSet)
val another=mutableSet.toSet
println(another.getClass.getName)
scala.collection.mutable.HashSet
mutableSet:Set(1, 2, 3, 4)
mutableSet:Set(1, 2, 4)
mutableSet:Set(1, 5, 2, 4)
mutableSet:Set(1, 5, 4)
scala.collection.immutable.Set$Set3
import scala.collection.mutable.Set
mutableSet: scala.collection.mutable.Set[Int] = Set(1, 5, 4)
res14_3: Boolean = true
res14_5: Boolean = true
res14_7: scala.collection.mutable.Set[Int] = Set(1, 5, 4)
res14_9: scala.collection.mutable.Set[Int] = Set(1, 5, 4)
another: scala.collection.immutable.Set[Int] = Set(1, 5, 4)
3. head 返回集合第一个元素
tail 返回一个集合,包含除了第一元素之外的其他元素
isEmpty 在集合为空时返回true
object Test {
def main(args: Array[String]) {
val site=Set("runoob","google","baidu")
val nums:Set[Int]=Set()
println("第一个网站:"+site.head)
println("最后一个网站:"+site.tail)
println("site是否为空:"+site.isEmpty)
println("nums是否为空:"+nums.isEmpty)
}}
Test.main(Array())
第一个网站:runoob
最后一个网站:Set(google, baidu)
site是否为空:false
nums是否为空:true
defined object Test
4.连接集合 ++ 或 Set.++()
object Test {
def main(args: Array[String]) {
val site1=Set("runoob","google","baidu")
val site2=Set("facebook","taobao")
//++
var site=site1++site2
println( "site1 ++ site2 : " + site )
//Set.++()
site=site1.++(site2)
println( "site1.++(site2) : " + site )
}}
Test.main(Array())
site1 ++ site2 : Set(facebook, taobao, runoob, google, baidu)
site1.++(site2) : Set(facebook, taobao, runoob, google, baidu)
defined object Test
5. 交集 Set.& 或 Set.intersect
object Test {
def main(args: Array[String]) {
val num1 = Set(5,6,9,20,30,45)
val num2 = Set(50,60,9,20,35,55)
println("num1.&(num2)"+num1.&(num2))
println("num1.intersect(num2)"+num1.intersect(num2))
}}
Test.main(Array())
num1.&(num2)Set(9, 20)
num1.intersect(num2)Set(9, 20)
defined object Test
posted on 2019-10-10 18:14 happygril3 阅读(205) 评论(0) 收藏 举报
浙公网安备 33010602011771号