Hoekom gebruik ons TreeMap in Java?
Hoekom gebruik ons TreeMap in Java?

Video: Hoekom gebruik ons TreeMap in Java?

Video: Hoekom gebruik ons TreeMap in Java?
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, Mei
Anonim

Die TreeMap in Java is gebruik word om Map-koppelvlak en NavigableMap saam met die Abstrakte Klas te implementeer. Die kaart word gesorteer volgens die natuurlike volgorde van sy sleutels, of deur 'n vergelyker verskaf tydens kaartskepping, afhangende van watter konstruktor gebruik word.

Die vraag is ook, hoe werk 'n TreeMap?

Boomkaart in Java. Die Boomkaart word gebruik om Map-koppelvlak en NavigableMap saam met die Abstrakte Klas te implementeer. Ook, al sy elemente stoor in die Boomkaart word volgens sleutel gesorteer. Boomkaart sorteer in natuurlike volgorde op sy sleutel, dit laat jou ook toe om Comparator te gebruik vir pasgemaakte sorteringsimplementering.

Net so, hoekom is HashMap vinniger as TreeMap? Dit bied 'n prestasie van O(1), terwyl Boomkaart bied 'n prestasie van O(log(n)) om items by te voeg, te soek en te verwyder. Vandaar, HashMap is gewoonlik vinniger . A Boomkaart gebruik geheue baie meer effektief, so dit is 'n goeie kaartimplementering vir jou as jy nie seker is van die hoeveelheid elemente wat in die geheue gestoor moet word nie.

Mense vra ook, gebruik TreeMap hashing?

TreeMap is stadig in vergelyking met HashMap, want dit bied die werkverrigting van O(log(n)) vir die meeste bewerkings soos add(), remove() en contains(). Die HashMap-klas gebruike die hasj tafel. Boomkaart intern gebruike 'n Rooi-Swart boom, wat is 'n selfbalanserende Binêre Soekboom. Die equals()-metode van Map-klas ignoreer dit.

Is TreeMap gesorteer?

Die inskrywings in a Boomkaart is altyd gesorteer gebaseer op die natuurlike volgorde van die sleutels, of gebaseer op 'n pasgemaakte vergelyker wat u kan verskaf ten tyde van die skepping van die Boomkaart . Boomkaart kan nie die nulsleutel bevat nie. Dit kan egter nulwaardes hê. Boomkaart is nie gesinchroniseer nie.

Aanbeveel: