scala 数组匹配相同元素

接下来的操作大家都熟知:差集、交集和并集。以下示例能很好地解释 Euler Diagram 函数:

val num 1 = Seq( 1 , 2 , 3 , 4 , 5 , 6 )
val num 2 = Seq( 4 , 5 , 6 , 7 , 8 , 9 )
  
//List(1, 2, 3)
num 1 .diff(num 2 )
  
//List(4, 5, 6)
num 1 .intersect(num 2 )
  
//List(1, 2, 3, 4, 5, 6, 4, 5, 6, 7, 8, 9)
num 1 .union(num 2 )

上述示例中的 union保留了重复的元素。如果我们不需要重复怎么办?这时可以使用 distinct函数:

//List(1, 2, 3, 4, 5, 6, 7, 8, 9)
num 1 .union(num 2 ).distinct




快速匹配的函数:

 def matchCells(a:Array[String] , y:Array[String]) = {
     var sum = 0
     for(x <- a){
      if(a.exists({ y: String => y == x })){
         sum += 1
      }
    }
     sum
  }
   
   def matchCells2(a:Array[String] , y:Array[String]) = {
      a.toSeq.intersect(y.toSeq).length
  }



  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值