scala filter包含多个条件
时间: 2023-08-11 07:05:35 浏览: 265
在 Scala 中,你可以使用 `filter` 方法来筛选一个集合中满足多个条件的元素。你可以使用逻辑运算符(例如 `&&` 和 `||`)来组合多个条件。
下面是一个示例,假设我们有一个包含整数的列表,我们想筛选出能被 2 和 3 整除的元素:
```scala
val numbers = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val filteredNumbers = numbers.filter(x => x % 2 == 0 && x % 3 == 0)
println(filteredNumbers) // 输出: List(6)
```
在上述示例中,我们使用 `filter` 方法传递一个函数作为参数。这个函数接受列表中的每个元素作为输入,并返回一个布尔值来指示是否保留该元素。我们使用 `%` 运算符来检查元素是否能被 2 和 3 整除。只有当两个条件都满足时,才保留该元素。
注意,上述示例中的 `filteredNumbers` 是一个新的列表,其中只包含满足条件的元素。原始的 `numbers` 列表并没有改变。
相关问题
scala filter
在Scala中,filter方法用于对集合进行过滤,根据给定的条件保留符合条件的元素。你可以提供一个函数来判断元素是否应该被保留。下面是一些使用filter方法的例子:
1. 筛选以字母"N"开头的字符串:
val list_str = List("Nice", "To", "Meet", "You")
val x = list_str.filter(x => x.startsWith("N"))
结果为List("Nice")
2. 筛选包含字母"o"的字符串:
val y = list_str.filter(x => x.contains("o"))
结果为List("To", "You")
3. 筛选长度大于3的字符串:
val z = list_str.filter(x => x.length() > 3)
结果为List("Nice", "Meet")
4. 多次过滤,筛选长度大于3且包含字母"N"的字符串:
val z = list_str.filter(x => x.length() > 3).filter(x => x.contains("N"))
结果为List("Nice")
在上述例子中,filter方法可以被用于多次过滤。
阅读全文