MapOf & MutableMapOf

MapOf & MutableMapOf

Observação: O arquivo utilizado neste conteúdo é o 5-mapOf.kt.

Neste conteúdo vamos aprender uma das listas mais importantes do Kotlin.

MapOf, MutableMapOf

Em conteúdos anteriores, nós vimos como criar nossas listas por meio de Arrays, Sets e Lists, mas em nenhum nós vimos uma estrutura capaz de salvar uma relação de chave e valor, onde essas chaves poderiam ser strings personalizadas.

Acredito que você acabou de receber um grande spoiler do assunto principal na qual iremos tratar aqui sobre Maps.

E sim, o map é uma coleção de chave e valor quando se trata de listagem de elementos em Kotlin.

É importante ressaltar que se você criar uma chave que já existe, o Map só ficará com a mais recente.

Assim como seus outros irmãos, temos o MapOf que representa uma lista imutável de elementos, e o MutableMapOf que representa uma lista mutável que aceita modificações.

Vejamos abaixo, como é o processo de declaração de cada um deles:

val map1 = mapOf<String, Int>()//Criamos um MapOf vazio, que só aceita chaves do tipo STRING e valores do tipo Inteiro.

val map2 = mutableMapOf<String, String>()//Criamos um MutableMapOf vazio, que só aceita chaves do tipo String e valore do tipo String.

Veja agora, como fazemos para declarar uma estrutura de chave e valor usando o MapOf:

val map3 = mapOf<String, Int>(Pair("Micilini", 1), Pair("Solano", 2))//Usamos o Pair para criar as chaves e valores

No código acima, observe que usamos a classe Pair para criar essa estrutura de chave-valor, de modo que podemos selecionar o valor 1 apenas informando o índice "Micilini".

E o valor 2, informando o índice "Solano".

Como visualizar os valores existentes em um Map?

println(map3["Solano"])//Aqui você tem acesso a um conteúdo de uma chave específica

println(map3)//Visualiza toda a cadeia de chave-valor

Como interagir com todos os elementos em um Map?

for ((k, v) in map3) {//Aqui estamos fazendo um for, onde a variável k representa a chave, e a variável v representa o valor
println("Chave: $k, Valor: $v")
}

Como adicionar novos valores dentro de um Map?

map2["Brasil"] = "Brasilia"//Adicionando novos valores dentro do map mutável

Quando você cria uma chave que já foi configurada, você acaba reescrevendo seu valor.

Como imprimir todas as chaves de um map?

println(map3.entries)//Imprime na tela todas as chaves

Como imprimir todos os valores de um map?

println(map3.values)//Imprime na tela todos os valores

Como remover uma chave do map?

map2.remove("Brasil")//Remove pela chave

Como checar se o map possui uma chave?

map2.contains("Brasil")//Se existe a chave buscada

Como Limpar todos os itens de um Map?

map2.clear()//Limpa o map

Conclusão

Neste conteúdo você aprendeu a criar listas contendo uma estrutura de chave-valor usando o MapOf e o MutableMapOf.

Até a próxima jornada 🧐