ExpertiDict

Java · Essencial · Inglês · Técnico

HashMap

/ˈhæʃ mæp/substantivo

Mapa que associa chaves a valores usando uma tabela de dispersão. Busca e inserção custam, em média, tempo constante, e a ordem de iteração não é garantida.

Onde usar

Surge em code review sobre chaves: 'essa classe usada como chave não sobrescreve hashCode'. Também em bugs de iteração com ordem inesperada.

Em código

var estoque = new HashMap<String, Integer>();
estoque.put("caneta", 10);
estoque.merge("caneta", 5, Integer::sum);
int n = estoque.get("caneta"); // 15
int m = estoque.getOrDefault("lapis", 0);

Exemplos

Use a HashMap for the lookup by id.

Use um HashMap para a busca por id.

A HashMap shared between threads is a bug waiting to happen.

Um HashMap compartilhado entre threads é um bug esperando para acontecer.

Cuidado

Não é thread-safe: usar em várias threads pode corromper dados; para isso existe o ConcurrentHashMap.

Sinônimos

mapa de dispersão

Veja também

Todos os termos de Java