📌  相关文章
📜  带有示例的 Scala 迭代器 filterNot() 方法(1)

📅  最后修改于: 2023-12-03 15:25:29.175000             🧑  作者: Mango

带有示例的 Scala 迭代器 filterNot() 方法

在Scala中,可以使用迭代器(Iterator)对一个集合进行遍历。其中,filterNot() 方法可以用于对集合中的元素进行筛选,返回一个新的迭代器,其中的元素不满足条件。

语法
def filterNot(p: (A) => Boolean): Iterator[A]

其中:

  • p:元素类型为A,传入一个谓词函数p,该函数返回元素是否保留。
返回值

返回一个新的迭代器,其中的元素不满足条件。

示例

下面的代码展示了如何使用filterNot()方法,从列表中筛选出所有不等于0的元素。

val lst = List(0, 1, 2, 3, 0, 4, 0, 5)
val it = lst.iterator.filterNot(_ == 0)

println("Filtered elements:")
while(it.hasNext) {
  println(it.next())
}

输出结果为:

Filtered elements:
1
2
3
4
5

在上面的代码中,

  • 创建了一个包含 0,1,2,3,0,4,0,5 的列表 lst。
  • 使用 lst.iterator 来获取一个列表的迭代器。
  • 使用 filterNot() 方法,使用 _ == 0 这个谓词函数作为参数,来筛选出不等于 0 的元素。
  • 按顺序遍历新的迭代器,并打印出每个元素的值。

可以看到,最后的输出结果只保留了不等于 0 的元素。