1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Ajuste da capacidade inicial em um HashMap

Pesquisei sobre esse tema na internet e nesse site (guj) e gostaria de saber a melhor maneira de estar definindo a capacidade máxima de um HashMap. Visto que essa estrutura de dados no Java é muito utilizada para criação de parâmetros que geralmente são usados em busca de valores nos servidores.

Geralmente, ao configurar um HashMap com a capacidade inicial ajustada, usa esse código:

Map<String, String> parametros = new HashMap<String, String>(10);
parametros.put("oi", "valor de oi");

Onde a capacidade inicial é ajustada para 10 elementos.

A importância de se ajustar essa capacidade é para não ocorrer vários redimensionamentos ao ser inserir os próximos elementos o que acaba degradando o desempenho de uma aplicação aonde a priori, se conhece o número máximo de elementos que estarão no mapa (HashMap).

Alguém poderia citar outra maneira/método para ser usar melhor esse HashMap ?

  • O tamanho máximo de elementos é extremamente grande? Já fez o teste que criar com valor máximo e sem, e ver a diferença de performance se é algo considerável pro seu cenário?

    Luiz Aguiar   22 de jul de 2013
  • Na prática, você não precisa se preocupar "muito" com o redimensionamento. Em um programa postado abaixo, vai ver que o redimensionamento não é tão importante assim. (O único problema é que quando algo é redimensionado, os métodos hashCode de cada elemento no hashmap são chamados novamente, o que pode ser uma operação lenta. )

    entanglement   22 de jul de 2013
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags collections design hash performance ou faça a sua própria pergunta.