რატომ ვიყენებთ TreeMap-ს Java-ში?
რატომ ვიყენებთ TreeMap-ს Java-ში?

ვიდეო: რატომ ვიყენებთ TreeMap-ს Java-ში?

ვიდეო: რატომ ვიყენებთ TreeMap-ს Java-ში?
ვიდეო: #16 - What is TreeMap? HashMap vs TreeMap || What is Red-Black Tree (Implementation of TreeMap) 2024, ნოემბერი
Anonim

The TreeMap ჯავაში არის გამოყენებული Map ინტერფეისის და NavigableMap-ის დანერგვა აბსტრაქტულ კლასთან ერთად. რუკა დალაგებულია გასაღებების ბუნებრივი თანმიმდევრობის მიხედვით, ან რუკის შექმნის დროს მოწოდებული შედარების მიხედვით, იმისდა მიხედვით, თუ რომელი კონსტრუქტორია. გამოყენებული.

ასევე კითხვაა, როგორ მუშაობს TreeMap?

ხე რუკა ჯავაში. The ხის რუკა გამოიყენება Map ინტერფეისის და NavigableMap-ის აბსტრაქტულ კლასთან ერთად განსახორციელებლად. ასევე, მისი ყველა ელემენტი ინახება ხის რუკა დალაგებულია გასაღების მიხედვით. ხის რუკა ასრულებს დახარისხებას მის გასაღებზე ბუნებრივი თანმიმდევრობით, ის ასევე საშუალებას გაძლევთ გამოიყენოთ Comparator პერსონალური დახარისხების განხორციელებისთვის.

ანალოგიურად, რატომ არის HashMap უფრო სწრაფი ვიდრე TreeMap? ის უზრუნველყოფს O(1)-ის შესრულებას, ხოლო ხის რუკა უზრუნველყოფს O(log(n))-ის შესრულებას ნივთების დასამატებლად, ძიებასა და ამოსაღებად. აქედან გამომდინარე, HashMap არის ჩვეულებრივ უფრო სწრაფად . ა ხე რუკა იყენებს მეხსიერებას უფრო ეფექტურად, ასე რომ, ეს არის რუქის კარგი განხორციელება თქვენთვის, თუ დარწმუნებული არ ხართ ელემენტების რაოდენობაში, რომლებიც უნდა იყოს შენახული მეხსიერებაში.

ხალხი ასევე იკითხავს, იყენებს თუ არა TreeMap ჰეშინგს?

TreeMap არის ნელია HashMap-თან შედარებით, რადგან ის უზრუნველყოფს O(log(n)) ოპერაციების უმეტესობას, როგორიცაა add(), remove() და contain(). HashMap კლასი იყენებს The ჰაში მაგიდა. ხის რუკა შინაგანად იყენებს წითელ-შავი ხე, რომელიც არის თვითდაბალანსებული ორობითი საძიებო ხე. Map კლასის equals() მეთოდი უგულებელყოფს მას.

დალაგებულია TreeMap?

ჩანაწერები ა ხის რუკა არიან ყოველთვის დალაგებულია გასაღებების ბუნებრივ შეკვეთაზე დაფუძნებული, ან მორგებული შედარების საფუძველზე, რომელიც შეგიძლიათ მოგვაწოდოთ შექმნის დროს ხის რუკა . ხის რუკა არ შეიძლება შეიცავდეს null კლავიშს. თუმცა, მას შეიძლება ჰქონდეს ნულოვანი მნიშვნელობები. ხე რუკა არ არის სინქრონიზებული.

გირჩევთ: