Кратко въведение в TreeMap в Java с примери



Тази статия ще ви предостави подробни и изчерпателни познания за TreeMap в Java с примери за методи и конструктори.

Внедряването на интерфейс Map в Java е много важна задача. За тази цел имаме TreeMap и HashMap . В тази статия фокусът ни ще бъде върху TreeMap в в следната поръчка:

Какво представлява TreeMap в Java?

TreeMap в Java се използва за реализиране на интерфейс на Map и NavigableMap заедно с абстрактния клас. Картата се сортира според естественото подреждане на ключовете или от Сравнител, предоставен при създаването на картата, в зависимост от това кой конструктор е използван. Това се оказва ефективен начин за сортиране и съхраняване на двойките ключ-стойност.





TreeMap-in-JavaРедът на съхранение, поддържан от дървовидната карта, трябва да бъде в съответствие с равни като всяка друга сортирана карта, независимо от изричните сравнителни карти. Картата на дърветатаизпълнението не е синхронизирано в смисъл, че ако до картата се осъществява достъп от множество нишки, едновременно и поне една от нишките модифицира картата структурно, тя трябва да се синхронизира външно.

Характеристики на TreeMaps

  • Този клас е член на Java Collections Framework.



  • Класът изпълнява Map интерфейси, включително NavigableMap, SortedMap и разширява AbstractMap

  • TreeMap в Java не позволява нулеви ключове (като Map) и по този начин се изхвърля NullPointerException. Въпреки това, множество нулеви стойности могат да бъдат свързани с различни ключове.

  • Всички двойки Map.Entry, върнати от методи в този клас и неговите изгледи представляват моментни снимки на съпоставяния по времето, когато са били създадени.



  • Те не поддържат метода Entry.setValue.

Важни точки, които трябва да запомните

  1. Освен реализирането на интерфейса Map, Java TreeMap също така реализира NavigableMap и косвено реализира интерфейса SortedMap. TreeMap също разширява класа AbstractMap.

  2. Записите в TreeMap са сортирани по естествения ред на ключовете му. Той също така предоставя конструктор, за да осигури Comparator, който да се използва за поръчка. Така че, ако използвате какъвто и да е клас като ключ, уверете се, че той изпълнява сравним интерфейс за естествено подреждане. Разгледайте въпроси за интервюта за Java колекции, за да разберете значението на тези методи.

  3. Внедряването на Java TreeMap осигурява гарантирани разходи за време (n) време за операциите containsKey, получаване, пускане и премахване.

  4. TreeMap не е синхронизиран и следователно не е безопасен за нишки. За многонишкови среди можете да получите увита синхронизация, използвайки метода Collections.synchronizedSortedMap.

  5. Методите на TreeMap за получаване на набор от ключове и стойности връщат Iterator, който има бърз характер, така че всяка паралелна модификация ще хвърли ConcurrentModificationException.

  6. TreeMap в Java не позволява нулеви ключове, но можете да имате множество нулеви стойности, свързани с различни ключове.

Конструктори в TreeMap

Строител Описание
TreeMap () Изгражда празна дървесна карта, която ще бъде сортирана, използвайки естествения ред на ключовете.
TreeMap (Comparator comp) Изгражда празна карта, базирана на дърво, която ще бъде сортирана с помощта на Comparator comp.
TreeMap (карта m) Инициализира дървовидна карта със записите от m, която ще бъде сортирана с помощта на естествения ред на ключовете.
TreeMap (SortedMap sm) Инициализира дървовидна карта със записите от SortedMap sm, които ще бъдат сортирани в същия ред като sm.

Методи в TreeMap

Метод Описание
празно ясно () Премахва всички съпоставяния от тази TreeMap.
Клон на обект () Връща плитко копие на този екземпляр TreeMap.
Сравнителен сравнител () Връща сравнителя, използван за поръчка на тази карта, или нула, ако тази карта използва естествения ред на ключовете си.
boolean containsKey (Object key) Връща true, ако тази карта съдържа съпоставяне за посочения ключ.
boolean containsValue (стойност на обекта) Връща true, ако тази карта преобразува един или повече ключове в определената стойност.
Задаване на entrySet () Връща зададен изглед на съпоставянията, съдържащи се в тази карта.
Обект firstKey () Връща първия (най-нисък) ключ в момента в тази сортирана карта.
Object get (Object key) Връща стойността, на която тази карта съответства посочения ключ.
SortedMap headMap (Object toKey) Връща изглед на частта от тази карта, чиито ключове са строго по-малко от toKey.
Set keySet () Връща Set view на ключовете, съдържащи се в тази карта.
Обект lastKey () Връща последния (най-високия) ключ в момента в тази сортирана карта.
Поставяне на обект (Object key, Object value) Свързва посочената стойност с посочения ключ в тази карта.
void putAll (Карта на картата) Копира всички съответствания от посочената карта на тази карта.
Премахване на обект (Object key) Премахва картографирането за този ключ от тази TreeMap, ако е налице.
размер int () Връща броя на съпоставянията ключ-стойност в тази карта.
Подкарта SortedMap (Обект отKey, Object toKey) Връща изглед на частта от тази карта, чиито ключове варират от Ключ, включително, до Ключ, изключителен.
SortedMap tailMap (Обект отKey) Връща изглед на частта от тази карта, чиито ключове са по-големи или равни на fromKey.
Стойности на колекцията () Връща колекционен изглед на стойностите, съдържащи се в тази карта.

Пример за TreeMap в Java

import java.util.TreeMap публичен клас TreeMapMain {public static void main (String args []) {// TreeMap с Country като ключ и капитал като стойност // TreeMap съхранява елементи в естествено подреждане на ключове. TreeMap countryCapitalMap = нов TreeMap () countryCapitalMap.put ('Индия', 'Делхи') countryCapitalMap.put ('Япония', 'Токио') countryCapitalMap.put ('Франция', 'Париж') countryCapitalMap.put ('Русия' , 'Москва') System.out.println ('-----------------------------') // Итериране на TreeMap с помощта на keySet ( ) и за всеки цикъл System.out.println ('Итериране на TreeMap с помощта на keySet () и за всеки цикъл') за (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ' и капитал: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}

Изход:

как да използвам правомощията в java -

С това стигнахме до края на тази статия TreeMap в Java. ° С по дяволите от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни Java рамки като Hibernate & Spring.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог „TreeMap в Java“ и ние ще се свържем с вас възможно най-скоро.