scala - 如何在 Scala 的列表中查找重复项?
问题描述
我有一个未排序的整数列表,我想找到重复的元素。
val dup = List(1|1|1|2|3|4|5|5|6|100|101|101|102)
我必须找到唯一元素的列表以及每个元素重复的次数。
我知道我可以用下面的代码找到它:
val ans2 = dup.groupBy(identity).map(t => (t._1, t._2.size))
但我无法在“|”上拆分上述列表 . 我尝试使用 split 转换为String
then ,但得到以下结果:
L
i
s
t
(
1
0
3
)
我不知道为什么我会得到这个结果。
参考:如何在列表中查找重复项?
解决方案
符号 | 是 scala 中的一个函数。您可以在此处查看 API
|(x: Int): Int
返回此值和 x 的按位或。
所以你没有 a List
,你有一个Integer
(103) ,这是对|
假装列表中的所有整数进行运算的结果。
你的代码很好,如果你想做一个正确的List
,你应该用逗号分隔它的元素
val dup = List(1,1,1,2,3,4,5,5,6,100,101,101,102)
如果您想在使用String
之前转换您的给定,List
您可以执行以下操作:
"1|1|1|2|3|4|5|5|6|100|101|101|102".split("\\|").toList
推荐阅读
- django - TypeError:kitty() 得到了一个意外的关键字参数“startdate”
- django - 防止 Redis/Celery 计划任务被多次处理 - Heroku 上的 Django
- java - 您可以重新平衡未知大小的不平衡拆分器吗?
- javascript - cesiumWorkerBootstrapper 使用 RequireJS importScripts 时出错
- c# - 如何将 CSV 文件拆分为多个部分
- javascript - 如何在 JavaScript 函数中使用 php
- bash - 如何删除外壳中标准输入行上的美元符号头?
- php - POST http://localhost/website/wp-admin/admin-ajax.php 400(错误请求)
- ios - Xcode 10.3 其他 iOS 版本模拟器在哪里
- javascript - 切换没有状态的 React 复选框