Localizando um elemento em uma lista usando o Kotlin

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.