Junior — Middle
Que métodos de implementação da interface Map conheces em Kotlin e em que se diferenciam?
sobes.tech IA
Resposta da IA
No Kotlin, a interface Map é implementada de várias formas, que diferem em mutabilidade e implementação interna:
- Map (somente leitura) — interface para mapas imutáveis. Suas implementações não permitem modificar o conteúdo. Exemplo de criação:
val map: Map<String, Int> = mapOf("one" to 1, "two" to 2)
- MutableMap — estende Map e permite modificar o conteúdo (adicionar, remover elementos). Exemplo:
val mutableMap: MutableMap<String, Int> = mutableMapOf("one" to 1)
mutableMap["two"] = 2
-
HashMap — classe que implementa MutableMap, baseada em uma tabela hash. Proporciona acesso rápido por chave.
-
LinkedHashMap — herda de HashMap, mantém a ordem de inserção dos elementos.
-
SortedMap / TreeMap (via Java) — mapeamento onde as chaves estão ordenadas.
Diferenças:
- Map somente leitura não permite modificar os dados.
- MutableMap permite modificar.
- HashMap é mais rápido, mas não garante a ordem.
- LinkedHashMap mantém a ordem de inserção.
Em Kotlin, as funções padrão mapOf e mutableMapOf retornam respectivamente Map somente leitura e MutableMap, geralmente implementados via LinkedHashMap.