Junior — Middle
Pode explicar como aceder a um elemento dentro de uma estrutura HashMap?
sobes.tech IA
Resposta da IA
Em Java, HashMap é implementado com base numa matriz de buckets, cada um contendo uma lista ligada ou uma árvore (a partir do Java 8) de elementos com o mesmo código hash.
O acesso a um elemento ocorre assim:
- O código hash da chave é calculado usando
hashCode(). - O código hash é convertido em um índice da matriz de buckets (geralmente através da operação
hash & (capacity - 1)). - No bucket selecionado, procura-se o elemento com a chave igual à procurada (comparação via
equals()). - Se o elemento for encontrado, o valor associado é retornado.
Exemplo:
HashMap<String, Integer> map = new HashMap<>();
map.put("key", 42);
Integer value = map.get("key"); // calcula-se o hash, escolhe-se o bucket, procura-se o elemento
Assim, o acesso a um elemento consiste em calcular o hash, selecionar o bucket e procurar pela chave dentro do bucket.