estou tentando armazenar palavra num HashMap, mas a cada palavra que eu adiciono ele substitui todas pela ultima inserida …
jah fiz de tud, mas não acho o erro, jah imprimi cada objeto antes de inseri e cada um gera uma key diferente … o codigo esta abaixo:
se alguem poder me ajudar … valew !!
word = new Palavra(palavra);
if (vetor.containsKey(word.hashCode())) {
Palavra temp = (Palavra) vetor.get(word.hashCode());
temp.incQuantidade();
vetor.put(temp.hashCode(), temp);
} else {
vetor.put(word.hashCode(), word);
System.out.println(vetor.toString());
}
Seu atributo palavra dentro da classe Palavra é estático, logo todos instâncias de Palavra terão mesmo hashcode, ja que sempre que vc cria uma nova palavra altera esse atributo, conseqüentemente altera para todas Palavras. Tira esse static do atributo que deve funcionar.
E vale a pena vc ler o javadoc de como deve ser implementando o hashcode