📅  最后修改于: 2023-12-03 15:19:57.862000             🧑  作者: Mango
forall()
方法是Scala中集合的高阶函数,它接受一个参数为泛型函数,并会对集合中的每一个元素都执行该函数。如果所有元素都返回true, 则 forall()
返回true,否则返回false。
下面是 forall()
方法的语法:
def forall(p: (A) => Boolean): Boolean
其中,p参数是一个函数,可以接受A类型作为参数,并返回一个Boolean类型的值。
下面是一个简单的示例,该示例用于检查一个整数列表是否所有元素都是偶数:
val numbers = List(2, 4, 6, 8)
val areAllEven = numbers.forall(_ % 2 == 0)
在上述示例中,我们定义了一个包含偶数的整数列表,然后使用 forall()
函数检查该列表中的所有元素是否都是偶数。我们使用 _ % 2 == 0
作为函数 p
的参数,它实质上是一个匿名函数,返回true或false。
如果所有元素都是偶数,则 forall()
函数返回true。
我们还可以使用 forall()
函数检查一个字符串列表中的所有元素是否都是以大写字母开头的:
val words = List("Scala", "Java", "Python")
val allCaps = words.forall(_.charAt(0).isUpper)
在上面的示例中,我们检查一个字符串列表中的所有元素是否都是以大写字母开头的。我们使用 _.charAt(0).isUpper
作为函数 p
的参数,通过这个匿名函数,我们可以检查一个字符串的首字母是否为大写字母。如果所有元素都以大写字母开头,则 forall()
函数返回true。
综上所述, forall()
是一个非常强大的函数,它可以用于检查集合中的所有元素是否满足一个特定的条件。在编写Scala代码时, forall()
函数可以帮助我们快速地检查数据是否满足特定条件,从而减少大量的手动检查。