----《第一季Kotlin崛起:次世代Android开发 》学习笔记
总目录:每天学一点 Kotlin ---- 目录
上一篇:每天学一点 Kotlin -- 集合:MutableList
下一篇:每天学一点 Kotlin -- 集合:MutableSet
1. 集合类型
1.1 根据集合类型的整体特性,Kotlin 中分为3种集合:
(1) 有序可重复: Array -- 数组
(2) 有序不重复: Set
(3) 无序不重复: Map
2. Set
2.1 Set 特点: 大小固定,元素类型也固定
2.2 定义 Set:
Set<类型> 或 setOf(元素1, 元素2, ... 元素n)
2.3 Set 的两大特性:
(1) 包含关系: 如果集合A中所有的元素都在另一个集合B中,那么就说A是B的子集,也就是B包含A,或者A包含于B中。
(2) 两个集合的运算:
①交集:a.intersect(b)
②差集:a.subtract(b)
③并集:a.union(b)
④补集:a.union(b) - a.intersect(b)
2.4 举个栗子:
fun main() {
// testSet01()
// testSet02()
// testSet03()
// testSet04()
testSet05()
}
fun testSet05() {
// 补集:Kotlin 中并没有补集的方法,可以通过逻辑运算得到
val set1 = setOf("C/C++", "Java", "Kotlin", "Python", "北京", "上海", "杭州", "从北京到杭州再到上海")
val set2 = setOf("Python", "北京", "上海")
val set3 = setOf("你好", "他好", "我好", "大家好")
println(set1.union(set3) - set1.subtract(set2))
}
fun testSet04() {
// 并集
val set1 = setOf("C/C++", "Java", "Kotlin", "Python", "北京", "上海", "杭州", "从北京到杭州再到上海")
val set2 = setOf("你好", "他好", "我好", "大家好")
val set3 = setOf("1111", "2222", "333", "3333")
println(set1.union(set2).union(set3))
}
fun testSet03() {
// 差集
val set1 = setOf("C/C++", "Java", "Kotlin", "Python", "北京", "上海", "杭州", "从北京到杭州再到上海")
val set2 = setOf("Python", "北京", "上海")
val set3 = setOf("你好", "他好", "我好", "大家好")
println(set1.subtract(set2))
println(set1.subtract(set3))
}
fun testSet02() {
// 交集
val set1 = setOf("C/C++", "Java", "Kotlin", "Python", "北京", "上海", "杭州", "从北京到杭州再到上海")
val set2 = setOf("Python", "北京", "上海")
val set3 = setOf("你好", "他好", "我好", "大家好")
println(set1.intersect(set2))
println(set1.intersect(set3))
}
fun testSet01() {
// 包含关系
val set1 = setOf("C/C++", "Java", "Kotlin", "Python", "北京", "上海", "杭州", "从北京到杭州再到上海")
val set2 = setOf("Python", "北京", "上海")
val set3 = setOf("你好", "他好", "我好", "大家好")
println(set1.containsAll(set2))
println(set2.containsAll(set1))
println(set1.containsAll(set3))
}
网友评论