欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

高阶函数的一些用法和理解

程序员文章站 2024-02-27 14:33:21
...
//map源码
fun <T, R> List<T>.map1(transform: (T) -> R): List<R> {
        val result = arrayListOf<R>()
        for (item in this)
            result.add(transform(item))
        return result

    }
//演示list
    var ints = asList(1, 10, 20, 30)
    val doubledList = ints.map { it -> it * 2 }
    println("double list:"+doubledList);
// index =0  item[0]=1 1*2=2  2. 20 .40 60  double list:[2, 20, 40, 60]

//高级一点的



    val fruits = listOf("banana", "avocado", "apple", "kiwi","bbaaaa")
    fruits
            .sortedBy {it  }
            .filter { it.startsWith("a") }//只需要a开头的
            .map { it.toUpperCase() }//all upper//并转换为大写
            .forEach { println("current ${it}") }//after print
//上面的高阶顺序基本上不可以调整否则语法报错