Powiedzmy, że chcę umieścić słowa w strukturze danych i chcę mieć stałe sprawdzanie czasu, aby sprawdzić, czy dane słowo znajduje się w tej strukturze danych. Wszystko, co chcę zrobić, to sprawdzić, czy słowo istnieje. Czy użyłbym do tego funkcji HashMap
(containsKey())? HashMap
s używaj par kluczy-> wartości, ale w moim przypadku nie mam wartości. Oczywiście mógłbym użyć wartości null dla wartości, ale nawet wartość null zajmuje miejsce. Wygląda na to, że powinna istnieć lepsza struktura danych dla tej aplikacji.Java hashmaps bez wartości?
Kolekcja może potencjalnie być używana przez wiele wątków, ale ponieważ obiekty zawarte w kolekcji nie ulegną zmianie, nie sądzę, że mam wymagania synchronizacji/współbieżności.
Czy ktoś może mi pomóc?
Gdybym użył czegoś takiego jak hashSet, czy to znaczy, że nie mogę używać ciągów? hashSet.add ("klucz"); hashSet.contains ("klucz"); // false, prawda? Ponieważ dwa klucze są oddzielnymi obiektami? – jbu
nie, zwraca true. Hashset jest idealny. – jbu
Powinieneś być w stanie używać Strings dobrze, ponieważ String ma własną implementację hashCode(), która zwraca ten sam skrót dla łańcuchów, które są równe. Odsyłacz: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#hashCode() –