如果我在scala中有这样的列表:
val list = List(
Map("val1" -> 1, "val2" -> 2),
Map("val1" -> 3, "val2" -> 4),
Map("val1" -> 5, "val2" -> 6),
Map("val1" -> 7, "val2" -> 8)
)
我想创建另一个列表,其中元素符合以下某些条件:
val newList = list map { el /*match (el("val1") < 5) here*/ =>
el /*if condition is met, add element to new list*/
}
然后结果将是这样的:
List(
Map("val1" -> 1, "val2" -> 2),
Map("val1" -> 3, "val2" -> 4)
)
这样的事情是可能的,如果是这样的话怎么样?我想从功能编程的角度来看这项工作。
答案 0 :(得分:4)
使用list.filter
:
val filteredList = list.filter(_("val1") < 5)