博客
关于我
Kotlin判断一个数组中是否有相同的元素
阅读量:562 次
发布时间:2019-03-09

本文共 935 字,大约阅读时间需要 3 分钟。

1.如果只是需要判断是否包含相同元素而不是要找出相同元素有哪些,直接放在set集合中,然后看set集合和数组长度是否一致即可

fun main() {       val array = arrayOf(1, 7, 2, 4, 9, 2)    val sameSet = mutableSetOf
() 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
() 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

转载地址:http://nbypz.baihongyu.com/

你可能感兴趣的文章
Netty基础—1.网络编程基础二
查看>>
Netty基础—2.网络编程基础四
查看>>
Netty基础—3.基础网络协议一
查看>>
Netty基础—3.基础网络协议二
查看>>
Netty基础—4.NIO的使用简介一
查看>>
Netty基础—4.NIO的使用简介二
查看>>
Netty基础—5.Netty的使用简介
查看>>
Netty基础—6.Netty实现RPC服务一
查看>>
Netty基础—6.Netty实现RPC服务三
查看>>
Netty基础—7.Netty实现消息推送服务一
查看>>
Netty基础—7.Netty实现消息推送服务二
查看>>
Netty基础—8.Netty实现私有协议栈一
查看>>
Netty基础—8.Netty实现私有协议栈二
查看>>
Netty多线程 和 Redis6 多线程对比
查看>>
Netty学习总结(1)——Netty入门介绍
查看>>
Netty学习总结(2)——Netty的高性能架构之道
查看>>
Netty学习总结(3)——Netty百万级推送服务
查看>>
Netty学习总结(4)——图解Netty之Pipeline、channel、Context之间的数据流向
查看>>
Netty学习总结(5)——Netty之TCP粘包/拆包问题的解决之道
查看>>
Netty学习总结(6)——Netty使用注意事项
查看>>