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"