Prefacio: este tutorial se aprende mejor sobre la base de JAVA
Continuando con el artículo anterior:
Enlaces a la sección anterior:
Aprendamos sobre las API funcionales más utilizadas en varias colecciones.
función de mapa
Se utiliza para mapear cada elemento de la colección a otro valor, las reglas de mapeo se especifican en la expresión Lambda y finalmente se genera una colección . Por ejemplo, aquí queremos poner en mayúscula todos los nombres de frutas:
fun main() {
val list = listOf("Apple","Banana","Orange","Pear","Grape","Watermelon")
val newList = list.map { it.uppercase() }
for (fruit in newList) {
println(fruit)
}
}
resultado de la operación:
función de filtro
A continuación, aprenda una API funcional : la función de filtro . La función de filtro se utiliza para filtrar los datos de la colección . Se puede utilizar solo o con la función de mapa .
Por ejemplo, si solo queremos mantener las frutas dentro de cinco letras, podemos usar la función de filtro para lograrlo, el código es el siguiente:
fun main() {
val list = listOf("Apple","Banana","Orange","Pear","Grape","Watermelon")
val newList = list.filter { it.length <= 5 }.map { it.uppercase() }
for (fruit in newList) {
println(fruit)
}
}
resultado de la operación:
Sin embargo, justo ahora se llama primero a la función de filtro y luego a la función de mapa Si se intercambian , se puede lograr el mismo efecto. Pero esto es equivalente a mapear y filtrar todos los elementos de la colección una vez, y la eficiencia será mucho menor.
todas y cada una de las funciones
cualquier función : determina si hay un elemento en la colección que cumple la condición especificada .
Función all : determina si todos los elementos de la colección cumplen las condiciones especificadas .
ejemplo:
fun main() {
val list = listOf("Apple","Banana","Orange","Pear","Group","Watermelon")
val anyResult = list.any{ it.length <= 5 }
val allResult = list.all{ it.length <= 5 }
println("anyResult is $anyResult, allResult is $allResult")
}
resultado de la operación:
Si te gusta esta serie, por favor dale me gusta! ¡Gracias por ver!
referencia:
"La primera línea de código de Android (tercera edición)" --- Guo Lin