📜  带有示例的 Scala List exists() 方法(1)

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

Scala List exists() 方法

Scala List中包含了一个用于判断列表中是否存在满足条件的元素的方法exists()。该方法接收一个函数作为参数,并遍历列表中的每一个元素,判断该元素是否满足该函数所定义的条件,如果存在符合条件的元素则返回true,否则返回false。

方法定义

def exists(p: (A) => Boolean): Boolean

其中p是一个类型为A => Boolean的函数,A是列表中元素的类型。该函数返回一个Boolean类型的值,用于表示该元素是否满足条件。

例子说明
基本使用

以下是一个基本的示例,用于查找列表中是否存在大于10的元素:

val list = List(1, 2, 3, 4, 5, 10, 15, 20)
val isGreater = list.exists(_ > 10) // true

在以上示例中,_ > 10 所表示的就是一个匿名函数,用于判断列表中的元素是否大于10。使用exists()方法遍历该列表,判断是否存在符合条件的元素,最终返回true。

对象方法

我们也可以使用对象方法作为exists()的参数,以下示例中使用了一个自定义的方法来判断列表中是否存在偶数:

val list = List(1, 3, 5, 7, 8, 9)
def isEven(i: Int): Boolean = i % 2 == 0
val hasEven = list.exists(isEven) // true

在以上示例中,方法isEven()用于判断一个数是否为偶数,在exists()方法中作为参数传入。由于列表中包含了一个偶数8,因此最终结果为true。

判断字符串中是否包含特定字符

以下示例中,使用exists()方法判断一个字符串中是否包含了字符'a':

val str = "Scala is a powerful programming language!"
val containsA = str.split(" ").exists(_.contains("a")) // true

在以上示例中,首先使用split()方法将字符串拆分成单词,然后对每一个单词使用contains()方法判断是否包含字符'a',最终使用exists()方法判断是否存在符合条件的单词,返回true。

总结

exists()方法为Scala列表的常用方法之一,用于判断列表中是否存在满足条件的元素。我们可以使用匿名函数、自定义的对象方法,也可以在更复杂的场景中使用该方法来实现更多的功能。