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

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

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

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




scala 数组匹配相同元素

快速匹配的函数:

 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
  }



相关文章: