Dlaczego używamy TreeMap w Javie?
Dlaczego używamy TreeMap w Javie?

Wideo: Dlaczego używamy TreeMap w Javie?

Wideo: Dlaczego używamy TreeMap w Javie?
Wideo: #16 - What is TreeMap? HashMap vs TreeMap || What is Red-Black Tree (Implementation of TreeMap) 2024, Może
Anonim

ten TreeMap w Javie jest używany zaimplementować interfejs Map i NavigableMap wraz z klasą abstrakcyjną. Mapa jest sortowana zgodnie z naturalną kolejnością jej kluczy lub przez Komparator dostarczony w momencie tworzenia mapy, w zależności od tego, który konstruktor jest używany.

Pojawia się również pytanie, jak działa TreeMap?

DrzewoMapa w Javie. ten DrzewoMapa służy do implementacji interfejsu Map i NavigableMap wraz z klasą abstrakcyjną. Ponadto wszystkie jego elementy są przechowywane w DrzewoMapa są sortowane według klucza. DrzewoMapa wykonuje sortowanie w naturalnej kolejności na swoim kluczu, pozwala również na użycie Komparatora do niestandardowej implementacji sortowania.

Podobnie, dlaczego HashMap jest szybszy niż TreeMap? Zapewnia wydajność O(1), podczas gdy DrzewoMapa zapewnia wydajność O(log(n)) do dodawania, wyszukiwania i usuwania elementów. Stąd, HashMap jest zwykle szybciej . A DrzewoMapa wykorzystuje pamięć o wiele bardziej efektywnie, więc jest to dobra implementacja Mapy dla Ciebie, jeśli nie jesteś pewien ilości elementów, które muszą być przechowywane w pamięci.

Ludzie pytają też, czy TreeMap używa hashowania?

Mapa drzewa to powolny w porównaniu do HashMap, ponieważ zapewnia wydajność O(log(n)) dla większości operacji, takich jak add(), remove() i Contains(). Klasa HashMap używa ten haszysz Tabela. DrzewoMapa wewnętrznie używa czerwono-czarne drzewo, które jest samobalansujące drzewo wyszukiwania binarnego. Metoda equals() klasy Map zastępuje ją.

Czy TreeMap jest posortowane?

Wpisy w a DrzewoMapa są zawsze posortowane w oparciu o naturalną kolejność kluczy, lub w oparciu o niestandardowy Komparator, który możesz podać w momencie tworzenia DrzewoMapa . DrzewoMapa nie może zawierać klucza null. Może jednak mieć wartości null. DrzewoMapa nie jest zsynchronizowany.

Zalecana: