A treemap - красно-черное дерево, представляющее собой сбалансированное дерево двоичного поиска . Другими словами, дерево уже отсортировано (или, скорее, упорядочено согласно правилам бинарного дерева поиска) с его сбалансированной высотой, так что операции дерева имеют сложность O (lg n). Тем не менее, я думаю, что вы хотите, чтобы напечатать все ключи в отсортированном порядке. Это так же просто, как реализация обхода inorder на древовидной карте, или вы можете использовать метод keySet () для получения Set и перебора значений.
например. прохождения порядка
void inorderTraversal( Node root ){
if( root == null ) return;
inorderTraversal( root.getLeft() );
root.printValue();
inorderTraversal( root.getRight() );
}
EDIT :
Хорошо, я почти уверен, что это то, что вы хотите. Вы хотите отсортировать по значениям:
Map<String, Integer> map = new TreeMap<String, Integer>();
map.put("one", 8);
map.put("two", 10);
map.put("three", 9);
map.put("hundred", 1);
System.out.println(map.values());
Выход:
[1, 8, 9, 10]
Так что это работает даже для сортировки строковых значений:
Map<Integer, String> map = new TreeMap<Integer, String>();
map.put(8, "one");
map.put(10, "two");
map.put(9, "three");
map.put(1, "hundred");
System.out.println(map.values());
Выход:
[hundred, one, three, two]
Кроме того, sachin учтите, что наличие «ключей переменных» и значений переменных - это совершенно разные вещи.