博客
关于我
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 channelRegistered\ChannelActive---源码分析
查看>>
Netty NIO transport && OIO transport
查看>>
Netty WebSocket客户端
查看>>
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty 解决TCP粘包/半包使用
查看>>
netty——Future和Promise的使用 线程间的通信
查看>>
netty——黏包半包的解决方案、滑动窗口的概念
查看>>
Netty中使用WebSocket实现服务端与客户端的长连接通信发送消息
查看>>
Netty中实现多客户端连接与通信-以实现聊天室群聊功能为例(附代码下载)
查看>>
Netty中的组件是怎么交互的?
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
netty之 定长数据流处理数据粘包问题
查看>>
Netty事件注册机制深入解析
查看>>
netty代理
查看>>
Netty入门使用
查看>>
netty入门,入门代码执行流程,netty主要组件的理解
查看>>
Netty原理分析及实战(一)-同步阻塞模型(BIO)
查看>>
Netty原理分析及实战(三)-高可用服务端搭建
查看>>
Netty原理分析及实战(二)-同步非阻塞模型(NIO)
查看>>