Pra que serve o HashMap e o HashTable?

2 respostas
S

Desculpe a pergunta, mas ainda não entendi o que são e pra que servem o HashMap e o HashTable.
Alguém pode me ajudar?

2 Respostas

L

“samurai”:
Desculpe a pergunta, mas ainda não entendi o que são e pra que servem o HashMap e o HashTable.
Alguém pode me ajudar?

H

Um outro mapa que é pouco explorado é o WeakHashMap, que funciona assim:

Digamos que eu tenho um conjunto de pares chave-valor e uso uma Hashtable para guardá-los. Neste caso, eu não preciso manter nenhuma referência às chaves para protegê-las (e os seus respectivos valores) de serem coletadas pelo GC. A Hashtable mantém internamente referências fortes às suas chaves e valores.

Se, ao invés disso, eu tivesse armazenado os pares num WeakHashMap, no momento em que eu retirasse uma referência externa a uma de suas chaves, o GC aproveitando-se do fato de que a chave é fraca (weak), coletaria impiedosamente a pobre chave e, caso não haja uma referência para ele, o correspondente valor. Em consequência, se eu tentar acessar o par que foi ‘esquecido’, com uma grande probabilidade, não vou mais encontrá-lo no mapa.

A maneira mais simples de interpretar isso é dizer que se trata de um mecanismo para evitar vazamento de memória. Destarte, eu mantenho o número de objetos na heap sempre enxuto.

Criado 17 de novembro de 2004
Ultima resposta 17 de nov. de 2004
Respostas 2
Participantes 3