Joã*_*ves 2 functional-programming scala list match
我想编写一个算法,该算法匹配Scala中具有两个值的列表.
例如,如果我有以下列表:
val list = List(1, 3, 6, 8, 9, 14, 18)
Run Code Online (Sandbox Code Playgroud)
并有这两个值:
val a = 4
val b = 14
Run Code Online (Sandbox Code Playgroud)
我想得到这个清单:
val result = List(6, 8, 9, 14)
Run Code Online (Sandbox Code Playgroud)
如果考虑使用intersectScala 的方法,但只适用于两个列表.
我也考虑过使用for循环,但这不起作用.
所以我最终不知道如何解决这个问题.
谁能帮我?
哦,但你可以这样使用intersect:
scala> List(1, 3, 6, 8, 9, 14, 18) intersect (4 to 14)
res1: List[Int] = List(6, 8, 9, 14)
Run Code Online (Sandbox Code Playgroud)
并且您可以反转顺序,但生成的集合类型是不同的.
scala> 4 to 14 intersect List(1, 3, 6, 8, 9, 14, 18)
res2: scala.collection.immutable.IndexedSeq[Int] = Vector(6, 8, 9, 14)
Run Code Online (Sandbox Code Playgroud)
外卖:Scala有很多不同的收藏类型,但其中很多都可以很好地融合在一起.
| 归档时间: |
|
| 查看次数: |
166 次 |
| 最近记录: |