📜  Scala Stack forall() 方法与示例(1)

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

Scala Stack forall() 方法与示例

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() 函数可以帮助我们快速地检查数据是否满足特定条件,从而减少大量的手动检查。