1). Os mapas me lembraram +- um índice que crio para uma tabela SQL. É possível essa analogia?
2) Eles utilizam, por baixo dos panos, métodos como o HashCode e Equals? (Acredito que sim).
Obrigado!
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
1). Os mapas me lembraram +- um índice que crio para uma tabela SQL. É possível essa analogia?
2) Eles utilizam, por baixo dos panos, métodos como o HashCode e Equals? (Acredito que sim).
Obrigado!
Oi Arthur,
Sim é possível fazer essa analogia, embora seja um pouquinho diferente. A diferença é que no banco de dados a nossa chave primária é um dado de tipo primário, normalmente inteiro, enquanto nos mapas nos podemos usar objetos inteiros como chave. E é aí que o hashcode e o equals entram.
O Map tem várias implementações, uma delas é o HashMap, que é o mais utilizado. Ele usa equals e hashcode o tempo todo! O hashcode do objeto ele usa para indexá-lo e agilizar a busca, e o equals pra poder comparar as chaves e dizer se elas são mesmo iguais.
Se quiser você pode inclusive sobrescrever os métodos equals e hashCode dos seus objetos para melhorar a performance do seu mapa.