大数据全系列 教程
1869个小节阅读:467.8k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
数据无序(无插入顺序),不可重复。
xxxxxxxxxx
package com.itbaizhan.chapter07
//不可变Set集合
object SetImmutable extends App {
//TODO 1.实例化Set集合
//type Set[A] = immutable.Set[A]
val set1 = Set[Int](1, 9, 3, 4)
val set2 = Set(5,6,7,8)
//TODO 2.添加数据
val set3: Set[Int] = set1 + 5 + 6
println(set1 eq set3)//false
println("set1_3:"+set1)//Set(1, 9, 3, 4)
println("set3:"+set3)//Set(5, 1, 6, 9, 3, 4)
val set4: Set[Int] = set1.+(6, 7, 8)
println(set1 eq set4)//false
//TODO 3. eq比较的是引用的地址是否相同,equals比较的是值是否相同
// == 如果比较对象是null 那么==调用的eq,不是null的情况下调用的equals
//TODO 4.Set集合元素无序,输出时和添加时的顺序可能不一致
println(set4)//Set(1, 6, 9, 7, 3, 8, 4)
//TODO 5.不同添加重复的元素
private val set5: Set[Int] = set1 + 4
println("set5:"+set5)//Set(1, 9, 3, 4)
//TODO 6.删除数据 不存在的元素2无法删除,存在的元素3被删除了
val set6: Set[Int] = set1 - 2 - 3
println("set6:"+set6)//Set(1, 9, 4)
//TODO 7. ++和++: 将两个集合中的元素组合成为一个新的集合,两个集合中重复的元素保留一个。两个原集合元素不变
println("++前set1:"+set1+",set2:"+set2)
private val set7: Set[Int] = set1 ++ set2
println("set7:"+set7)//Set(5, 1, 6, 9, 7, 3, 8, 4)
println("++后set1:"+set1+",set2:"+set2)
val set8: Set[Int] = set2 ++: set1
println("set8:"+set8)//Set(5, 1, 6, 9, 7, 3, 8, 4)
println("++:前set1:"+set1+",set2:"+set2)
println(set7 eq set8)//false 不同对象地址不同
println(set7 equals set8)//true 元素数据相同
}
实时效果反馈
1. 关于不可变Set相关的描述,错误的是:
A 不可变Set数据无序(无插入顺序),不可重复。
B 不可变Set的不可变指的是堆内存中Set对象指向的数据对象的地址不可变。
C 不可变Set不论通过怎样的操作都无法进行修改。
D 不可变Set也可以通过一定的操作进行修改,改变成了新的引用。
答案:
1=>C