una recorrer listas lista example elementos colecciones arreglos array agregar kotlin

recorrer - ¿Cómo puedo filtrar un valor de un arraylist en Kotlin?



recorrer arraylist kotlin (5)

Desea filtrar esta lista de cadenas que contienen meses.

var month : List<String> = arrayListOf("January", "February", "March")

Puede utilizar el método de lista filterNot() . Devuelve una lista que contiene todos los elementos excepto el predicado dado.

var filteredMonthList : List<String> = month.filterNot { s -> s == "January" } // results: ["February", "March"]

Puede utilizar el método de lista filter() . Devuelve una lista que contiene todos los elementos que coinciden con el predicado dado.

var filteredMonthList : List<String> = month.filter { s -> s == "January" } // results: ["January"]

Después de filter() si usamos el método single() , devolverá un solo valor y emitirá una excepción si hay más de un valor en la lista.

var filteredMonth : String = month.filter { s -> s == "January" }.single() // result: "January"

Tengo una matriz:

var month: List<String> = arrayListOf("January", "February", "March")

Tengo que filtrar el mes "January" de la lista.


Hay una serie de funciones para filtrar colecciones. Si desea mantener solo los valores que coincidan con "January" , puede usar el filter() simple filter() :

val months = listOf("January", "February", "March") months.filter { month -> month == "January" } // with explicit parameter name months.filter { it == "January" } // with implicit parameter name "it"

Estos le darán una lista que contiene sólo "January" .

Si desea que todos los meses que no sean "January" , puede revertir la condición usando != , O usar filterNot() :

months.filter { it != "January" } months.filterNot { it == "January" }

Estos te darán una lista que contiene "February" y "March" .

Tenga en cuenta que a diferencia de Java, usar los operadores == y != En Kotlin es en realidad lo mismo que llamar a la función equals en los objetos. Para más información, consulte la documentación sobre la equality .

Para obtener una lista completa de las funciones de recopilación en la biblioteca estándar, consulte la referencia de la API .


Puede usar este código para filtrar enero de la matriz, usando este código

var month: List<String> = arrayListOf("January", "February", "March") // to get the result as list var monthList: List<String> = month.filter { s -> s == "January" } // to get a a string var selectedMonth: String = month.filter { s -> s == "January" }.single() println("the value 555 is $monthList") println("the value 555 is $selectedMonth")


Solo comparto que si tiene una lista personalizada y comprueba si está nula o en blanco , puede verificar Kotlin en una sola línea. Solo hágalo así.

fun filterList(listCutom: List<Custom>?) { var fiterList = listCutom!!.filter { it.label != "" } //Here you can get the list which is not having any kind of lable blank }

También puedes consultar múltiples condiciones.

fun filterList(listCutom: List<Custom>?) { var fiterList = listCutom!!.filter { it.label != "" && it.value != ""} //Here you can get the list which is not having any kind of lable or value blank }

Nota: Supongo que la etiqueta y el valor son las variables de la clase de modelo personalizado .


También puedes usar find o findLast . Esto está destinado específicamente a devolver solo un valor en lugar de una lista de String devueltas en caso de filter .

var month: List<String> = arrayListOf("January", "February", "March") var result = month.find { s -> s == "January" }