//Kotlin中结合flatMap进行过滤操作以及zip合并操作符
fun main() {
val list = listOf<String>("黄晓明", "李连杰", "李小龙", "刘军", "李四", "刘明", "刘俊", "黄家驹", "黄飞鸿")
val list2 = list.map {
"$it"
}
println(list2)
val newList = listOf(
listOf("黄晓明", "李连杰", "李小龙"),
listOf("刘军", "李四", "刘明"),
listOf("刘俊", "黄家驹", "黄飞鸿")
)
newList.flatMap { it ->
it.filter { it ->
it.contains("黄") //里面是true就返回,false 就过滤掉不要
}
}.map {
println("$it ")
}
/*******************************************/
val names = listOf("张三", "李四", "王五")
val ages = listOf(12, 34, 22)
//原理:把第一个集合和第二个集合,合并起来,创建新的集合并返回
//创建新的集合(元素,元素,元素) 元素Pair(K,V) K代替第一个集合中的元素,V代表第二个集合中的元素
val zip: List<Pair<String, Int>> = names.zip(ages)
println(zip) //[(张三, 12), (李四, 34), (王五, 22)]
}