API de programación funcional de Kotlin Notes (10)

API de programación funcional de Kotlin Notes (10)

Tipo de datos de nota de Kotlin (1) Cadena de nota de Kotlin (2) Operador de nota de Kotlin (3) Función de nota de Kotlin (4) Nota de Kotlin orientada a objetos (5) Herencia de nota de Kotlin, clase abstracta, interfaz (6) Función de orden superior de nota de Kotlin (7) Genéricos de notas de Kotlin (8) Contenedor de datos de notas de Kotlin (9)









uno para cada uno

     var strArr=      arrayOf("name","age")
    strArr.forEach {
    
    
        println(it)
    }


    var listName= arrayListOf("tom","Lili")

    listName.forEach {
    
    
        println(it)
    }


    var mapkv= hashSetOf(1 to "tom",2 to "lili")

    mapkv.forEach {
    
    
        println("key=${it.first }, value=${it.second}")
    }
    
    
    
name
age
tom
Lili
key=1, value=tom
key=2, value=lili

dos, para cada uno indexado

    val strArray = arrayOf("张三", "李四", "王五", "董六")//创建字符串数组

    val set = setOf(1, 3, 34, 54, 75)


    strArray.forEachIndexed {
    
     index, s ->
        println("index:${index} s:${s}")
    }

    set.forEachIndexed {
    
     index, s ->
        println("index:${index} s:${s}")
    }
    
    

3. Función de filtro

1. Tipo de recogida de devolución

1, filtro

La operación de filtrado utiliza la función de filtro, que puede filtrar colecciones de colecciones, colecciones de mapas o elementos de matriz. Las
colecciones de colecciones y las matrices devuelven una colección de listas y las colecciones de mapas devuelven una colección de mapas.



    users.filter {
    
    
        it.name.startsWith("T",ignoreCase = false)
    }
        .filter {
    
    
            it.name==="Tony"
        }
        .forEach {
    
    
            println(it.name)
        }
        
        
        
Tony        
        

2, gota

Devuelve una colección de listas que excluye los primeros n elementos


val map = mapOf(102 to "张三", 105 to "李四", 109 to "王五")
val array = intArrayOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "B", "C")
println(array.takeLast(3)) //[34, 54, 75]

3, tomar

Devuelve los primeros n elementos de la colección List.

val map = mapOf(102 to "张三", 105 to "李四", 109 to "王五")
val array = intArrayOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "B", "C")
println(array.take(3)) //[1, 3, 34]

4, filtro no nulo

Devuelve una colección List de elementos no vacíos. Tenga en cuenta que la matriz Array es una matriz de objetos y no puede
ser una matriz de tipos de datos básicos como IntArray y FloatArray

5, tomar el último

Devuelve la colección List de los últimos n elementos.


val map = mapOf(102 to "张三", 105 to "李四", 109 to "王五")
val array = intArrayOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "B", "C")
println(array.takeLast(3)) //[34, 54, 75]

6, rebanada

Devuelve la colección List de elementos en el índice especificado.

val map = mapOf(102 to "张三", 105 to "李四", 109 to "王五")
val array = intArrayOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "B", "C")
println(array.slice(listOf(0, 2))) //[1, 34] ①

7, no filtrar

Al contrario de filtrar, filtre los datos que no cumplan las condiciones.

2. Devolver un solo elemento

1, encontrar

Devuelve el primer elemento que cumple la condición, o
nulo si no hay ningún elemento que cumpla la condición

val map = mapOf(102 to "张三", 105 to "李四", 109 to "王五")
val array = intArrayOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "B", "C")
println(array.find {
    
     it > 10 }) //34

2、buscarÚltimo

Devuelve el último elemento que cumple la condición, o
nulo si no hay ningún elemento que cumpla la condición.

val map = mapOf(102 to "张三", 105 to "李四", 109 to "王五")
val array = intArrayOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "B", "C")
println(array.findLast {
    
     it < -1 }) //null

3, primero

Devuelve el primer elemento, la función no tiene parámetros.

val map = mapOf(102 to "张三", 105 to "李四", 109 to "王五")
val array = intArrayOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "B", "C")
println(array.first()) //1 ②

4, último

Devuelve el último elemento, la función no tiene parámetros.

val map = mapOf(102 to "张三", 105 to "李四", 109 to "王五")
val array = intArrayOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "B", "C")
println(array.last()) //75

5, primero{}

Devuelve el primer elemento que cumple los criterios, la función tiene un argumento. Si no hay ningún
elemento coincidente, se lanza una excepción.

val map = mapOf(102 to "张三", 105 to "李四", 109 to "王五")
val array = intArrayOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "B", "C")
println(array.first {
    
     it > 10 }) //34 ③

6, último{}

Devuelve el último elemento que cumple los criterios, la función tiene un argumento. Si
no hay ningún elemento elegible, se lanza una excepción

val map = mapOf(102 to "张三", 105 to "李四", 109 to "王五")
val array = intArrayOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "B", "C")
println(array.last {
    
     it > 10 }) //75

7, primero o nulo

Devuelve el primer elemento que cumple los criterios, la función tiene un argumento. Devuelve nulo si no hay ningún
elemento coincidente

val map = mapOf(102 to "张三", 105 to "李四", 109 to "王五")
val array = intArrayOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "B", "C")
println(array.firstOrNull {
    
     it > 100 }) //null ④

8, último o nulo

Devuelve el último elemento que cumple los criterios, la función tiene un argumento. Devuelve nulo si no hay ningún
elemento coincidente

val map = mapOf(102 to "张三", 105 to "李四", 109 to "王五")
val array = intArrayOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "B", "C")
println(array.lastOrNull {
    
     it > 100 }) //null

4. Mapeo

  • mapNotNull devuelve una colección List, que contiene
    el resultado convertido de los elementos no nulos de la colección original.
    Tenga en cuenta que la matriz Array es una matriz de objetos y no puede ser una matriz de tipos de datos básicos como IntArray y FloatArray
  • mapIndexed devuelve una colección de listas que contiene
    los resultados convertidos y sus índices para cada elemento de la colección original
  • flatMap es un mapa plano, que puede transformar matrices o colecciones multidimensionales en colecciones unidimensionales.
fun main(args: Array<String>) {
    
    
val set = setOf(1, 3, 34, 54, 75)
val charList = listOf("A", null, "b", "C")

println(charList.mapNotNull {
    
     it } //[A, b, C] ①

.map {
    
     it.toLowerCase() }) //[a, b, c] ②

println(set.mapIndexed {
    
     index, s -> index + s }) // [1, 4, 36, 57, 79] ③

val datas = listOf(listOf(10, 20), listOf(20, 40)) 

val flatMapList = datas.flatMap {
    
     e -> e.map {
    
     it * 10 } } 

println(flatMapList)//[100, 200, 200, 400]

}

5. Función de clasificación

  • sorted devuelve la colección o matriz en orden ascendente
  • sortedBy Ordenar en orden ascendente después de calcular la expresión especificada
  • ordenadoDescendente 降序
  • sortedByDescending clasifica en orden descendente después de calcular la expresión especificada
  • invertido invierte el original
fun main(args: Array<String>) {
    
    
val set = setOf(1, -3, 34, -54, 75)
//升序
println(set.sorted())//[-54, -3, 1, 34, 75]
println("Users升序输出:")
users.sortedBy {
    
     it.name }.forEach {
    
     println(it) }//降序
println(set.sortedDescending())//[75, 34, 1, -3, -54]
println("Users降序输出:")
users.sortedByDescending {
    
     it.name }.forEach {
    
     println(it) }//倒置
println(set.reversed())//[75, -54, 34, -3, 1]
}

Supongo que te gusta

Origin blog.csdn.net/baidu_31956557/article/details/109297759
Recomendado
Clasificación