Localizando um elemento em uma lista usando o Kotlin
1. Visão geral
Neste tutorial, veremos como encontrar um elemento em uma lista usando a linguagem Kotlin. Além disso, vamos filtrar esta lista por uma condição.
2. Encontre um elemento em uma lista
Digamos que temos uma lista de atores que atuaram como Batman:
var batmans: List = listOf("Christian Bale", "Michael Keaton", "Ben Affleck", "George Clooney")
E digamos que queremos encontrar “o primeiro Batman” (do filme de Tim Burton) -Michael Keaton.
No Kotlin, podemos usarfind para retornar o primeiro elemento correspondente ao predicado fornecido:
val theFirstBatman = batmans.find { actor -> "Michael Keaton".equals(actor) }
assertEquals(theFirstBatman, "Michael Keaton")
No entanto, se nenhum elemento for encontrado, o resultado retornaránull.
3. Filtrar elementos em uma lista
Por outro lado, vamos filtrar a listabatmans.
Queremos manter os melhores atores do Batman. Novamente, esse seria Michael Keaton, o original, e aquele da trilogia de Nolan, Christian Bale.
Nesse caso, vamos usar a funçãofilter e um predicado para obter a lista contendo os Batmans mais legais:
val theCoolestBatmans = batmans.filter { actor -> actor.contains("a") }
assertTrue(theCoolestBatmans.contains("Christian Bale") &&
theCoolestBatmans.contains("Michael Keaton"))
Ou obteremos uma lista vazia se nenhum elemento corresponder ao predicado.
4. Elementos de filtro em uma lista comFilterNot
Além disso, podemos usar um filtro inverso usandofilterNot:
val theMehBatmans = batmans.filterNot { actor -> actor.contains("a") }
assertFalse(theMehBatmans.contains("Christian Bale") &&
theMehBatmans.contains("Michael Keaton"))
assertTrue(theMehBatmans.contains("Ben Affleck") &&
theMehBatmans.contains("George Clooney"))
5. Conclusão
Neste tutorial, vimos como é fácil usar o Kotlin com listas para encontrar e filtrar elementos nele.
Podemos encontrar informações mais detalhadas emofficial find documentation,filter documentation efilterNot documentation de Kotlin.
Como de costume, todos os exemplos usados neste tutorial estão disponíveisover on GitHub.