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!
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.