Set 接口和 List 接口一样,同样继承自 Collection 接口,它与 Collection 接口中的方法基本一致,但并没有对 Collection 接口进行功能上的扩充,只是比 Collection 接口更加严格了。
与 List 接口不同的是,Set 接口中的元素是无序的,并且元素不可重复,重复的元素只会被记录一次。
在Kotlin中,Set 分为可变集合 MutableSet 与不可变集合 Set ,其中可变集合 MutableSet 是对集合中的元素进行添加和删除的操作,不可变集合 Set 对几何中的元素仅提供最多的操作。
不可变 Set 同样是继承了 Collection 接口,调用标准库中的 setOf() 函数来创建不可变集合 Set 。
具体代码如下。
fun main() {
val mSet = setOf(1, 8, 9, 1, 4, 7, 9, 0, 0 ,8)
println(mSet)
}
fun main() {
val set = setOf(1, 8, 9, 4, 7, 0)
if (set.isEmpty()){ //判断集合是否为空
println("null")
}else{
println(set.size)
}
if (set.contains(9)){ //判断集合是否包含 9
println("set has 9")
}
val index = set.iterator() //获得集合的迭代器
while (index.hasNext()){
print(index.next().toString() + "\t")
}
}
fun main() {
val set1 = setOf(1, 8, 9, 4, 7)
val set2 = setOf(1, 8, 9, 4, 7, 0)
if (set2.containsAll(set1)){
println("true")
}
}
MutableSet 接口继承于 Set 接口与 MutableCollection 接口,同时对接口进行扩展,在该接口中添加了对集合中元素的添加和删除等操作。
可变 MutableSet 集合是使用 mutableSetOf() 函数来创建对象的。
具体代码如下。
val muSet = mutableSetOf(1, 2, 3)
MutableSet 集合可以对该集合中的元素进行修改操作,这些修改操作主要有向集合中添加元素与移除集合中的元素。
演示代码如下。
fun main() {
val muSet = mutableSetOf(1, 2, 3)
muSet.add(4) //添加元素 4
println(muSet)
muSet.remove(2) //移除元素 2
println(muSet)
}
博客为个人收集学习,供大家交流学习。
参考书籍:《Kotlin从基础到实践》