📜  在 Kotlin 中检索单个元素

📅  最后修改于: 2022-05-13 01:54:31.147000             🧑  作者: Mango

在 Kotlin 中检索单个元素

Kotlin Collections 允许根据不同的条件检索单个元素。这完全取决于使用什么样的 Collection 来存储数据。集合的元素可以通过位置、条件、随机化以及列表中该元素的存在来检索。

按位置检索 –

elementAt(index): – elementAt() 获取元素的索引并从列表中检索它。列表的索引从 0 开始一直到 n-1,其中 n 是列表中没有元素。这是检索元素的最简单和最容易的方法,并且仅在预先知道所需元素的位置时才首选。
使用 elementAt() 方法的 Kotlin 程序 –

Java
fun main(args: Array) {
    val list=listOf("GeeksforGeeks","A","Computer","Science","Portal")
    // we know the place of GeeksforGeeks thus we use
    //elementAt() method
    println(list.elementAt(0))
}


Java
fun main(args: Array) {
    val list=listOf("GeeksforGeeks","A","Computer","Science","Portal")
    // we are trying to access the elements out of bounds
    //one will give out null output and other will execute
    //print statement
    println(list.elementAtOrNull(5))
    println(list.elementAtOrElse(5){"Element index not found"})
}


Java
fun main(args: Array) {
    val list=listOf("GeeksforGeeks","A","Computer","Science","Portal")
    // accessing the first element
    println(list.first())
    // accessing the last element
    println(list.last())
}


Java
fun main(args: Array) {
    val numbers = listOf("Geeks","for","Geek","A","Computer","Science","Portal")
    // retrieve the first element having string length > 5
    println(numbers.first { it.length > 5 })
    // retrieve the last element start with "G"
    println(numbers.last { it.startsWith("G") })
}


Java
fun main(args: Array) {
    val numbers = listOf("Geeks","for","Geek","A","Computer","Science","Portal")
    // retrieve the first element having string length > 5
    println(numbers.firstOrNull { it.length > 9 })
    // retrieve the last element start with "G"
    println(numbers.lastOrNull { it.startsWith("B") })
}


Java
fun main(args: Array) {
    val strings = listOf("Geeks","for","Geek","A","Computer","Science","Portal")
    //Example of random outputs of letters in list new each time
    println(strings.random())
}


Java
fun main(args: Array) {
    val list=listOf("Geeks","for","Geek","A","Computer","Science","Portal")
    //checking the string is in list or not
    println(list.contains("For"))
    println(list.containsAll(listOf("A", "Computer")))
    println(list.isEmpty())
    println(list.isNotEmpty())
}


输出:

GeeksforGeeks


有许多方法用于从列表中检索元素,但为了避免在检索不存在的元素时出现异常,我们应该使用安全方法。其中两种方法是:
elementAtOrElse(index){lambda expression}: –它是对 elementAt() 的加法,当找不到索引时执行 lambda 表达式。
elementAtOrNull(index): –它是对 elementAt() 的加法,当未找到索引时返回 null。
Kotlin 使用安全强制类型转换检索元素的程序 -

Java

fun main(args: Array) {
    val list=listOf("GeeksforGeeks","A","Computer","Science","Portal")
    // we are trying to access the elements out of bounds
    //one will give out null output and other will execute
    //print statement
    println(list.elementAtOrNull(5))
    println(list.elementAtOrElse(5){"Element index not found"})
}

输出:

null
Element index not found


我们还可以从以下两种方法的列表中检索第一个和最后一个元素 -
first(): -用于从列表中检索第一个元素,即索引为 0。
last(): –用于检索列表的最后一个元素,即索引为 n-1,其中 n 是列表的大小。
使用 first() 和 last() 方法的 Kotlin 程序 –

Java

fun main(args: Array) {
    val list=listOf("GeeksforGeeks","A","Computer","Science","Portal")
    // accessing the first element
    println(list.first())
    // accessing the last element
    println(list.last())
}

输出:

GeeksforGeeks
Portal

按条件检索 –

使用 first() 和 last() 方法,我们可以检索与给定谓词匹配的元素。

Java

fun main(args: Array) {
    val numbers = listOf("Geeks","for","Geek","A","Computer","Science","Portal")
    // retrieve the first element having string length > 5
    println(numbers.first { it.length > 5 })
    // retrieve the last element start with "G"
    println(numbers.last { it.startsWith("G") })
}

输出:

Computer
Geek

如果没有找到与谓词匹配的元素,这两个函数都会抛出异常。为避免异常,我们使用firstOrNull()lastOrNull() ,如果没有找到匹配的元素,它们将返回null

Java

fun main(args: Array) {
    val numbers = listOf("Geeks","for","Geek","A","Computer","Science","Portal")
    // retrieve the first element having string length > 5
    println(numbers.firstOrNull { it.length > 9 })
    // retrieve the last element start with "G"
    println(numbers.lastOrNull { it.startsWith("B") })
}

输出:

null
null

随机检索 –

如果我们想从列表中检索任意元素,我们可以使用random()函数。
random(): –它从集合中返回一个随机元素。
例子: -

Java

fun main(args: Array) {
    val strings = listOf("Geeks","for","Geek","A","Computer","Science","Portal")
    //Example of random outputs of letters in list new each time
    println(strings.random())
}

输出:

Computer (output can be same or different)

检查存在 -

contains(element): -用于检查元素是否在列表中。如果元素存在则返回true,否则返回false。
containsAll(elements[]): -用于检查是否所有元素都在列表中。如果所有元素都存在则返回 true,否则返回 false。
in 关键字:-用于检查所有元素是否都在列表中。如果元素存在则返回true,否则返回false。
isEmpty(): -用于检查列表是否为空。如果元素不在列表中,则返回 true,否则返回 false。
isNotEmpty(): -用于检查列表是否为空。如果元素在列表中,则返回 true,否则返回 false。
检查列表中字符串是否存在的 Kotlin 程序 -

Java

fun main(args: Array) {
    val list=listOf("Geeks","for","Geek","A","Computer","Science","Portal")
    //checking the string is in list or not
    println(list.contains("For"))
    println(list.containsAll(listOf("A", "Computer")))
    println(list.isEmpty())
    println(list.isNotEmpty())
}

输出:

false
true
false
true