高階函數的一些用法和理解

//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
//上面的高階順序基本上不可以調整否則語法報錯
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容