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
}
下面的 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
}