📅  最后修改于: 2023-12-03 15:09:45.191000             🧑  作者: Mango
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列表的常用方法之一,用于判断列表中是否存在满足条件的元素。我们可以使用匿名函数、自定义的对象方法,也可以在更复杂的场景中使用该方法来实现更多的功能。