博客
关于我
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/

你可能感兴趣的文章
MySql的CRUD(增、删、改、查)操作
查看>>
MySQL的DATE_FORMAT()函数将Date转为字符串
查看>>
mysql的decimal与Java的BigDecimal用法
查看>>
MySql的Delete、Truncate、Drop分析
查看>>
MySQL的Geometry数据处理之WKB方案
查看>>
MySQL的Geometry数据处理之WKT方案
查看>>
mysql的grant用法
查看>>
Mysql的InnoDB引擎的表锁与行锁
查看>>
mysql的InnoDB引擎索引为什么使用B+Tree
查看>>
MySQL的InnoDB默认隔离级别为 Repeatable read(可重复读)为啥能解决幻读问题?
查看>>
MySQL的insert-on-duplicate语句详解
查看>>
mysql的logrotate脚本
查看>>
MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
查看>>
MySQL的on duplicate key update 的使用
查看>>
MySQL的Replace用法详解
查看>>
mysql的root用户无法建库的问题
查看>>
mysql的sql_mode参数
查看>>
MySQL的sql_mode模式说明及设置
查看>>
mysql的sql执行计划详解
查看>>
mysql的sql语句基本练习
查看>>