filter 函数是用来过滤集合中的数据,可以单独使用,也可以和 map 函数一起使用。
单独使用
简单例子,只保留5个字母以上的元素。
val list = listOf("Apple", "Banana", "Cherry", "Durian", "Orange", "Pear", "Watermelon")
val newList1 = list.filter { it.length > 5 }
for (i in newList1) println(i)
运行结果,
Banana
Cherry
Durian
Orange
Watermelon
和 map 函数使用
简单例子,只保留5个字母以上的元素,并转为小写。
val list = listOf("Apple", "Banana", "Cherry", "Durian", "Orange", "Pear", "Watermelon")
val newList2 = list.filter { it.length > 5 }.map { it.toLowerCase(Locale.ROOT) }
for (i in newList2) println(i)
运行结果,
banana
cherry
durian
orange
watermelon
先过滤,再转换,效率会高一些。因为先过滤,数据量变小了。