Kotlin - Set 有重复元素但没有错误

Kotlin - Set is having duplicate element but no error is coming

下面的 Set 有重复的元素,但编译后没有错误,

val set = mutableSetOf("a", "a", "a")

设置数据结构不会引发重复错误。它只是忽略它们。如果您打印集合的内容,您将看到它只包含一个项目:

val set = mutableSetOf("a", "a", "a")
println(set)
// [a]

如果出于某种原因你真的想要异常,你可以编写一个辅助函数:

fun <T> mutableSetOfUniqueElements(varargs elements: T): MutableSet<T> {
    val result = mutableSetOf<T>()
    for (e in elements) {
        if (!result.add(e)) {
            throw InvalidArgumentException("Duplicate element")
        }
    }
    return result
}