1.如果只是需要判断是否包含相同元素而不是要找出相同元素有哪些,直接放在set集合中,然后看set集合和数组长度是否一致即可
fun main() {
val array = arrayOf(1, 7, 2, 4, 9, 2)
val sameSet = mutableSetOf<Int>()
for (item in array){
sameSet.add(item)
}
if (sameSet.size == array.size){
print("没有相同元素!")
} else{
print("包含相同元素!")
}
}
包含相同元素!
2.如果需要找出相同的元素是哪些,有几个?可以把数组元素都放在一个map中,key是元素,value为次数,然后看map中的value次数是否有大于1的,有则包含相同的元素。
fun main() {
val array = arrayOf(1, 7, 2, 4, 9, 2, 1, 8, 1)
val sameMap = mutableMapOf<Int, Int>()
for (item in array) {
with(sameMap[item]) {
if (this == null) {
sameMap.put(item, 1)
} else {
sameMap.put(item, this + 1)
}
}
}
for (item in sameMap.entries) {
if (item.value > 1) {
println("相同元素为${item.key},出现次数为${item.value}")
}
}
}
相同元素为1,出现次数为3
相同元素为2,出现次数为2