Scala检查List是否包含其他List的元素片

时间:2015-01-31 18:28:35

标签: list scala

A : List[String] 
B : List[String]

我想知道列表B的任何元素是否是列表A的任何元素的切片。

检查它的最快方法是什么?

2 个答案:

答案 0 :(得分:6)

对谁来说最快?对于你或CPU?

scala> val a = List("abc","def","ghi") ; val b = List("xy", "yz", "ef")
a: List[String] = List(abc, def, ghi)
b: List[String] = List(xy, yz, ef)

scala> b exists (s => a exists (_ contains s))
res0: Boolean = true

scala> val a = List("abc","def","ghi") ; val b = List("xy", "yz")
a: List[String] = List(abc, def, ghi)
b: List[String] = List(xy, yz)

scala> b exists (s => a exists (_ contains s))
res1: Boolean = false

答案 1 :(得分:4)

我认为最简短的方法是:ListA.exists {ListB.contains}