Класс java.util.TreeMap
TreeMap представляет собой иерархическое представление данных (ключ, значение) в виде двоичного дерева. Пары в этом классе сортируются по ключу в порядке возрастания.
Как класс HashMap, TreeMap реализует интерфейс java.util.Map. В Основное различие между HashMap и TreeMap заключается в том, что HashMap является неупорядоченной коллекцией, в то время как TreeMap по умолчанию используется в порядке возрастания в зависимости от ключей. TreeMap является несинхронизированной коллекцией, что означает, что она не защищена от параллельного доступа.
Как класс HashMap, TreeMap реализует интерфейс java.util.Map. В Основное различие между HashMap и TreeMap заключается в том, что HashMap является неупорядоченной коллекцией, в то время как TreeMap по умолчанию используется в порядке возрастания в зависимости от ключей. TreeMap является несинхронизированной коллекцией, что означает, что она не защищена от параллельного доступа.
TreeMap example
Пример 1:
В этом примере Ключи и значения хранятся в TreeMap. Для печати элементов необходимо создать объект Iterator затем выполните курс с циклом while.
import java.util.TreeMap;
import java.util.Set;
import java.util.Iterator;
import java.util.Map;
public class parcours_treemap {
public static void main(String args[]) {
/* Объявление TreeMap */
TreeMaptm = new TreeMap ();
/*Добавляем элементы в TreeMap*/
tm.put(12, "val1");
tm.put(5, "val2");
tm.put(8, "val3");
tm.put(2, "val4");
/* Вывод содержимого с помощью Iterator */
Set set = tm.entrySet();
Iterator iterator = set.iterator();
while(iterator.hasNext()) {
Map.Entry mapentry = (Map.Entry)iterator.next();
System.out.print("key: "+ mapentry.getKey() + " +
"- значение: "+mapentry.getValue()+"\n");
}
}
}
Выполнение этого кода возвращает следующий результат:
key: 2 - value: val4Мы видим, что пары< ключ, значение> сортируются по возрастанию keys.
key: 5 - значение: val2
ключ: 8 - значение: val3
ключ: 12 - значение: val1
Пример 2:
Для создания TreeMap из другого, вы можете вызвать метод putAll(Map) который будет реструктурировать дерево по мере его добавления.
Documentation TreeMap
upmf-grenoble:TreeMap
import java.util.TreeMap;При выполнении этого кода будет получен следующий результат:
public class parcours {
public static void main(String args[]) {
/* Объявление TreeMap */
TreeMaptm = new TreeMap ();
/*Добавляем элементы в TreeMap*/
tm.put(12, "val1");
tm.put(5, "val2");
tm.put(8, "val3");
tm.put(2, "val4");
TreeMaptm2 = new TreeMap ();
tm2.putAll(tm);
/*выводим несколько пар просто для проверки */
System.out.print("key: 12" + " - value: "+tm2.get(12)+"\n");
System.out.print("ключ: 8" + " - значение: "+tm2.get(8)+"\n");
/*первый и последний ключ*/
System.out.print("первый ключ: "+tm2.firstKey()+" последний ключ: "+tm2.lastKey());
}
}
key: 12 - value: val1References:
key: 8 - value: val3
first key: 2 последний ключ: 12
Documentation TreeMap
upmf-grenoble:TreeMap