Kotlin 数组 - filterNot() 函数



Kotlin 数组的 filterNot() 函数用于创建一个新列表,该列表不匹配给定条件或谓词。它接受一个谓词作为参数,并返回一个不满足指定条件的列表。

返回的列表保留了原始数组的条目迭代顺序。

语法

以下是 Kotlin 数组 filterNot() 函数的语法:

fun <T> Array<out T>.filterNot(predicate: (T) -> Boolean): List<T>

参数

此函数接受谓词作为参数。谓词表示一个给出布尔值的条件。

返回值

此函数返回一个列表,其中包含根据谓词或条件未过滤的所有元素。

示例 1

以下是一个基本的示例,用于演示 filterNot() 函数的使用:

fun main(args: Array<String>) {
   val number: Array<Int> = arrayOf(1, 2, 3, 4, 5, 6, 7, 8)
   val list = number.filterNot{it>3}
   println("Not filtered list: $list")
}

输出

执行上述代码后,我们将得到以下结果:

Not filtered list: [1, 2, 3]

示例 2

现在,让我们来看另一个示例。在这里,我们使用filterNot() 函数返回一个包含未过滤元素的列表:

fun main(args: Array<String>) {
   val number: Array<Int> = arrayOf(1, 2, 3, 4, 5, 6, 7, 8)
   val list = number.filterNot{it%2==0}
   println("Odd number: $list")
}

输出

执行上述代码后,我们将得到以下输出:

Even number: [1, 3, 5, 7]

示例 3

下面的示例创建一个存储字符串的数组。然后,我们使用filterNot() 函数显示长度小于 4 的元素:

fun main(args: Array<String>) {
   val strings: Array<String> = arrayOf("hii", "Hello", "tutorix", "tutorialspoint")
   val filterNot = strings.filterNot{it.length>4}
   println("list: $filterNot")
}

输出

上述代码产生以下输出:

list: [hii]
kotlin_arrays.htm
广告