Бид яагаад Java дээр TreeMap ашигладаг вэ?
Бид яагаад Java дээр TreeMap ашигладаг вэ?

Видео: Бид яагаад Java дээр TreeMap ашигладаг вэ?

Видео: Бид яагаад Java дээр TreeMap ашигладаг вэ?
Видео: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, May
Anonim

The Java хэл дээрх TreeMap байна ашигласан Газрын зургийн интерфэйс болон NavigableMap-ийг Abstract Class-тай хамт хэрэгжүүлэх. Газрын зургийг түлхүүрүүдийн байгалийн дарааллаар эсвэл аль бүтээгч байхаас хамаарч газрын зураг үүсгэх үед өгсөн харьцуулагчаар эрэмбэлдэг. ашигласан.

Мөн нэг асуулт бол TreeMap хэрхэн ажилладаг вэ?

TreeMap Java хэл дээр. The TreeMap Газрын зургийн интерфейс болон NavigableMap-ийг Abstract Class-тай хамт хэрэгжүүлэхэд ашигладаг. Мөн түүний бүх элементүүд нь хадгалагддаг TreeMap түлхүүрээр нь ангилдаг. TreeMap нь өөрийн түлхүүр дээр байгалийн дарааллаар эрэмбэлэх бөгөөд энэ нь танд тусгайлан эрэмбэлэхийн тулд Comparator ашиглах боломжийг олгоно.

Үүнтэй адилаар HashMap яагаад TreeMap-аас хурдан байдаг вэ? Энэ нь O(1), харин гүйцэтгэлийг хангадаг TreeMap зүйл нэмэх, хайх, устгах O(log(n))-ийн гүйцэтгэлийг хангадаг. Тиймээс, HashMap ихэвчлэн байдаг Илүү хурдан . А TreeMap санах ойг илүү үр дүнтэй ашигладаг тул санах ойд хадгалагдах элементүүдийн тоонд эргэлзэж байгаа бол энэ нь танд тохирсон Газрын зургийн программ юм.

Хүмүүс бас асуудаг, TreeMap хэшинг ашигладаг уу?

TreeMap бол HashMap-тай харьцуулахад удаашралтай, учир нь энэ нь add(), remove() болон contain() зэрэг ихэнх үйлдлийн хувьд O(log(n))-ийн гүйцэтгэлийг хангадаг. HashMap анги ашигладаг нь хэш ширээ. TreeMap дотооддоо ашигладаг Улаан-Хар мод, аль нь байна өөрийгөө тэнцвэржүүлдэг Хоёртын хайлтын мод. Map ангийн equals() арга нь үүнийг хүчингүй болгодог.

TreeMap эрэмблэгдсэн үү?

А-д байгаа бичлэгүүд TreeMap үргэлж байдаг эрэмбэлсэн Түлхүүрүүдийн байгалийн дараалалд үндэслэсэн, эсвэл үүсгэх үед гаргаж болох захиалгат харьцуулагч дээр үндэслэсэн. TreeMap . TreeMap null түлхүүрийг агуулж болохгүй. Гэсэн хэдий ч энэ нь хоосон утгатай байж болно. TreeMap синхрончлогдоогүй байна.

Зөвлөмж болгож буй: