/**
* 常見(jiàn)高階函數(shù)
* map函數(shù):可遍歷數(shù)組中的元素,做一定操作之后返回一個(gè)列表
*/
fun main(args: Array<String>) {
val list = listOf(1, 3, 4, 5, 10, 8, 2) //舊的列表
val newList = ArrayList<Int>() //新的列表
list.forEach {
//生成新列表方式1
val newElement = it * 2 + 3 //生成一個(gè)新元素(it代碼本次循環(huán)中列表中的值)
newList.add(newElement) //將元素添加到新列表中
}
val newList2 = list.map {
//生成新列表方式2(結(jié)果與生成新列表方式1一致)
it * 2 + 3
}
val newList3 = list.map(Int::toDouble) //將list中的數(shù)轉(zhuǎn)換成double型的
println("打印newList")
newList.forEach(::println) //打印新列表中的元素
println("打印newList2")
newList2.forEach(::println) //打印新列表2中的元素
println("打印newList3")
newList3.forEach(::println) //打印新列表3中的元素
//用map也可以實(shí)現(xiàn)遍歷打印的效果,但其中比f(wàn)orEach方法多了一個(gè)數(shù)組,影響性能
newList3.map(::println)
}

運(yùn)行結(jié)果