如何构建一个由满足某些条件的元素组成的新集合?

时间:2013-12-04 14:31:24

标签: scala

如果我在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)
)

这样的事情是可能的,如果是这样的话怎么样?我想从功能编程的角度来看这项工作。

1 个答案:

答案 0 :(得分:4)

使用list.filter

val filteredList = list.filter(_("val1") < 5)