scala - 在Scala中匹配两个数组
问题描述
我在 Scala 中有以下两个数组:
val array1 = Array("Football","Tennis","Tennis","Golf","Cricket","BasketBall","Golf")
val array2 = Array("Golf","Tennis","Formula1","Rugby")
我想返回在两个数组中匹配的不同单词。因此,当“网球”和“高尔夫”出现两次时,我们会将它们算作一个。我相信你会array1.distinct
从一开始就做。但是,我想知道,如何将其放入 Scala 函数中?
解决方案
这是显而易见的解决方案:
(array1.toSet intersect array2.toSet).toArray
然而Array
,它不是一个完整的 Scala 类型,因此更好地使用Vector
或List
取决于您打算如何处理数据。Scala 集合具有更丰富的方法集并且互操作性更好。
推荐阅读
- python-3.x - 如何从给定登录日期之前过去发生的 timedelta 值中获取确切日期?
- r - 如何删除观星者中的引文?
- mongodb - 通过 Annotation 在 Spring Data 中使用默认语言为 mongodb 定义通配符文本索引
- python - 将文本中的元素添加到字典
- mysql - 在 3 个表中使用 join 查询 knex
- javascript - 为什么将 SVG 图像导入到 Icon 对象时不显示?
- swift - 选择更改时,通过 NSViewRepresentable 将值从 NSTextView 传递到父 SwiftUI 视图
- excel - 如何在不同的 Excel 工作表中运行宏?它没有循环
- asp.net-core - 使用 EF .net 5 在 ASP.NET Core 中使用迷你探查器出现“未找到”错误
- algorithm - 计算 a[i] 最右边或最左边且最大的段