Zawsze zastanawiałem się, jak zaimplementować zestaw w Javie. Czy możemy to zaimplementować tak, jak implementujemy HashMap za pomocą LinkedList i obiektu (Cell), który posiada klucz i wartość? Jak poradzisz sobie z częścią unikalności?Jak zaimplementować strukturę zbiorów danych w Javie?
5
A
Odpowiedz
5
2
Zasadniczo zestaw to tylko mapa, która zawiera tylko klucze. Powinieneś więc poinformować się o algorytmie mapowania. Uwaga: HashSet na przykład jest tak naprawdę tylko adapterem dla HashMap. metoda dodawania HashSet używa po prostu HashMap.put (value, SomeDummyValue).
1
Poniżej znajduje się fragment kodu, aby wyjaśnić powyżej odpowiedzi o
public HashSet() { map = new HashMap<>(); }
private transient HashMap<E,Object> map;
// Dummy value to associate with an Object in the backing Map
private static final Object PRESENT = new Object();
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
// Since PRESENT is a constant, for all keys we have same value in backup HashMap called map.
public Iterator<E> iterator() {
return map.keySet().iterator();
}
Powiązane problemy
- 1. Automatyczna dokumentacja zbiorów danych
- 2. Jak zaimplementować OpenID w Javie
- 3. Jak zaimplementować wektor bitowy (bitset) (w Javie)?
- 4. Jak zaimplementować zawijanie konstruktorów w Javie?
- 5. Ładowanie kilku dużych zbiorów danych w Highcharts
- 6. Jak spłaszczyć strukturę w iskrowegowej ramce danych?
- 7. Jak zaimplementować strukturę, która pobiera ogólny wektor z adnotacjami dożywotnimi?
- 8. Jak zaimplementować strukturę danych wykresu w java? Czy istnieje jakaś dostępna biblioteka?
- 9. Type-safe spłaszczenie zagnieżdżonych zbiorów/struktur w Javie
- 10. Mongoose.js: W jaki sposób zaimplementować strukturę drzewa przez populację
- 11. Jak utrzymać strukturę danych wykresu w relacyjnej bazie danych?
- 12. Wywoływanie dużych zbiorów danych RDF z pamięci
- 13. Prześmiewanie zbiorów danych za pomocą Moq
- 14. Jak mogę odkryć strukturę bazy danych PostgreSQL?
- 15. Draw/Utwórz rozrzutu zbiorów danych z NaN
- 16. Jak mogę dalej optymalizować tę strukturę danych?
- 17. Jak rekurencyjnie przejść strukturę zagnieżdżonych danych hashowych?
- 18. Jak mogę odkryć strukturę bazy danych Mongo?
- 19. Ustaw strukturę danych Java w javascript/jQuery
- 20. jak zaimplementować wyszukiwanie pełnotekstowe w bazie danych
- 21. Jak zaimplementować bazę danych w aplikacji PhoneGap?
- 22. Jak zaimplementować rozpakowanie krotek dla parametrów funkcji w Javie?
- 23. Jak uzyskać strukturę tabeli bazy danych w java?
- 24. Jak używać długich typów danych w Javie?
- 25. Jak ręcznie skonfigurować źródło danych w Javie?
- 26. Przecięcie kolekcję zbiorów w LINQ
- 27. Dziwna składnia zbiorów w JavaScript
- 28. Czy PHP ma strukturę danych zestawu?
- 29. Którą strukturę danych powinienem tu użyć?
- 30. Którą strukturę danych należy użyć do geokodowania?