在kotlin中,List 類型提供了許多l(xiāng)ambda語(yǔ)法糖,這使對(duì)列表進(jìn)行各種操作都很方便和簡(jiǎn)潔,以下是一些常用的lambda語(yǔ)法糖實(shí)例.
- forEach: 用于遍歷列表中的每一個(gè)元素,并對(duì)每個(gè)元素執(zhí)行特定操作.
val list = listOf(1, 2, 3, 4, 5)
// 使用 lambda 表達(dá)式打印每個(gè)元素
list.forEach { println(it) }
// 使用函數(shù)引用方式打印每個(gè)元素
list.forEach(::println)
- map: 函數(shù)映射,對(duì)列表中的每一元素進(jìn)行置換,并返回一個(gè)新的列表
val list = listOf(1, 2, 3, 4, 5)
// 將每個(gè)元素乘以 2
val doubledList = list.map { it * 2 }
println(doubledList) // 輸出:[2, 4, 6, 8, 10]
val list2 = listOf<String>("a", "b", "c", "d")
// 將每一個(gè)元素大寫
val upperCaseList = list2.map {it.toUpperCase()}
println(upperCaseList) // 輸出:[A,B,C,D]
- filter: 根據(jù)給定的條件過(guò)濾列表的元素,返回符合條件的新列表.
val list = listOf(1, 2, 3, 4, 5)
// 過(guò)濾出大于 3 的元素
val filteredList = list.filter { it > 3 }
println(filteredList) // 輸出:[4, 5]
4.reduce: 對(duì)列表中的元素進(jìn)行累積運(yùn)算.
val list = listOf(1, 2, 3, 4, 5)
// 對(duì)所有元素進(jìn)行累積相加
val sum = list.reduce { acc, num -> acc + num }
println(sum) // 輸出:15
val list = listOf<Int>(2,10,23,15)
// 對(duì)所有元素進(jìn)行累積相減
val less = list.reduce { acc, i -> acc- i }
println(less) // 輸出: -46
5.any:用于判斷集合中的元素是否至少有一項(xiàng)滿足制定條件 ||
val list = listOf(1, 2, 3, 4, 5)
// 檢查是否有任何元素大于 3
val anyGreaterThanThree = list.any { it > 3 }
println(anyGreaterThanThree) // 輸出:true
6:all: 用于判斷集合中是否所有元素都滿足制定條件 &&
val list = listOf(1, 2, 3, 4, 5)
// 檢查是否所有元素都大于 3
println(list.all { it > 3 }) // 輸出:fasle