6.2 集合类型之Set、MutableSet

本文介绍了Kotlin中的Set集合,包括通过setOf创建不可变Set,以及Set集合间的子集、父集、交集、差集和并集操作。接着详细讲解了MutableSet,展示了其声明与创建,以及与MutableList相似的可变特性。
摘要由CSDN通过智能技术生成


Kotlin的集合分为两大类:可变集合和不可变集合,对于Set集合来说,就分为不可变的Set以及可变的MutableSet。

Kotlin的List集合和Set集合的功能基本相同,Set集合只是为List集合增加了额外的限制:集合元素不允许重复。

Set集合

声明和创建

通过setOf创建不可变Set,setOf提供了3个重载函数来创建,我们根据源码来一一分析:

-setOf(): 创建一个空的Set
源码:

/**
 * Returns an empty read-only set.  The returned set is serializable (JVM).
 * @sample samples.collections.Collections.Sets.emptyReadOnlySet
 */
@kotlin.internal.InlineOnly
public inline fun <T> setOf(): Set<T> = emptySet()
  • setOf(element: T): 创建一个元素只有一个的Set
/**
 * Returns an immutable set containing only the specified object [element].
 * The returned set is serializable.
 */
public fun <T> setOf(element: T): Set<T> = java.util.Collections.singleton(element)
  • setOf(vararg elements: T): 创建含有多个元素的Set
/**
 * Returns a new read-only set with the given elements.
 * Elements of the set are iterated in the order they were specified.
 * The returned set is serializable (JVM).
 * @sample samples.collections.Collections.Sets.readOnlySet
 */
public fun <T> setOf(vararg elements: T): Set<T> = if (elements.size > 0) elements.toSet() else emptySet()

例:

fun main(args: Array<String>) {
   
    val numSetNull = setOf<Int>()
    val numSetOne = setOf("hello")
    val numSetM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alfred Gao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值