Em que tipo de aplicações são comuns o uso das HashTables?Qual sua
principal utilidade?
HashTables
2 Respostas
Em primeiro lugar, você não deve utilizar Hashtables… Não está deprecated nem nada, mas é uma classe meio velhinha e já inventaram outra melhor (em performance): a HashMap.
A utilidade é associar pares de valor.
Por exemplo, eu tenho uma aplicação em que em uma tabela do banco de dados eu guardo um código de status e na tela eu mostro a descrição do status, que fica em outra tabela.
Pra não ficar fazendo join das tabelas em todos os selects eu guardo os pares código - descrição em um hashmap e aí pego as descrições nele ao invés de no banco.
Opa Luiz,
A Hashtable eh uma classe que implementa um Map (interface) (a partir de java 1.2), assim como a HashMap faz o mesmo.
Ela eh composta por uma lista de pares (conforme ja mencionado no post anterior) e pode ser usado para milhares de armazenamentos de dados diferentes. Exemplos comuns sao chaves de traducao, voce passa o id e recebe o texto equivalente em uma certa lingua. Outra eh guardar objetos indexados por ID.
Uma outra classe que implementa Map (e extende a Hashtable) muito utilizada eh a Properties que fornece funcoes para facilitar o uso de pares String/String e possui funcionalidades para ler e salvar os dados em arquivos (meio parecidos com aquele padrao ini do windows)
Para aprender mais sobre Maps e suas implementacoes sugiro dar uma lida no proprio javadoc da versao java que voce usa, ou entao nos tutoriais da sun sobre collections.
Guilherme Silveira