0

我有两个清单:

val list1 = List("asdf", "fdas", "afswd", "dsf", "twea", "rewgds", "werwe", "dsadfs");
val list2 = List();

我想过滤 list1 中的所有项目并设置 list2 以便它只包含不包含字母“a”的项目。我知道如何使用命令式编程来做到这一点,但是我将如何使用函数式编程来做到这一点?

4

2 回答 2

5

您的需求定义的几乎字面表示:

val list2 = list1.filterNot(item => item.contains('a'))
// List[String] = List(dsf, rewgds, werwe)
于 2013-06-18T19:32:54.063 回答
3

针对您对@om-nom-nom 回答的评论:

val list2 = for(item <- list1 if !item.contains("a")) yield item
于 2013-06-18T19:40:31.847 回答