Saltar al contenido

¿Cómo puedo filtrar una ArrayList en Kotlin para tener solo elementos que coincidan con mi condición?

Este team especializado pasados muchos días de trabajo y recopilación de de información, encontramos la solución, deseamos que resulte útil para ti en tu plan.

Solución:

Puede usar este código para filtrar enero de arrayusando este código

var month: List = arrayListOf("January", "February", "March")
// to get the result as list
var monthList: List = month.filter  s -> s == "January" 

// to get a string
var selectedMonth: String = month.filter  s -> s == "January" .single()

Hay una serie de funciones para filtrar colecciones, si desea mantener solo los valores coincidentes "January"puedes usar el 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 quieres todos los meses que son no"January"puede revertir la condición usando !=o usar filterNot():

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

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

Tenga en cuenta que, a diferencia de Java, al usar el == y != operadores en Kotlin es en realidad lo mismo que llamar al equals función sobre los objetos. Para obtener más información, consulte los documentos sobre igualdad.

Para ver la lista completa de funciones de colección en la biblioteca estándar, consulte la referencia de la API.

Desea filtrar esta lista de cadenas que contienen meses.

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

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

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

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

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

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

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

valoraciones y reseñas

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *