hashCode Map/List

0

Ktory z przykladow jest bardziej odpowiedni, ten z uzyciem mapy czy listy. Jak dla mnie wybor powinien byc uzalezniony od wielkosci listy/ mapy -> przy duzych mapa a przy malych lista?

public class App {

    public static void main(String[] args) {
        
        HashMap<Integer, Word> map = new HashMap<Integer, Word>();

        Word word1 = new Word("kot", "chat", Kind.le);
        Word word2 = new Word("pies", "chien", Kind.le);
        Word word3 = new Word("koń", "cheval", Kind.le);
        
        map.put(word1.hashCode(), word1);
        map.put(word2.hashCode(), word2);
        map.put(word3.hashCode(), word3);
        
for (Entry<Integer, Word> entry : map.entrySet()) {
    System.out.println(entry.getValue().getId());
}        
//        System.out.println(map);
        
        System.out.println(map.containsKey(word2.hashCode()));
        
    
    List<Word> lista = new ArrayList<Word>();
    lista.add(word1);
    lista.add(word2);
    lista.add(word3);
    System.out.println(lista.contains(word2));
    
    }

}
0

Jeżeli nie musisz przechowywać obiektu i powiązanego z nim klucza tak jak w tym przypadku to użyj Listy.

0

Że tak spytam: WTF? Co to niby jest? Czemu nie zrobiłeś zwyczajnie

Set<Word>

Tylko jakieś cuda na kiju robisz. Szczególnie że hashCode() NIE JEST unikalny więc pewnie połowa twoich słów nie załapie sie do mapy...

1 użytkowników online, w tym zalogowanych: 0, gości: 1