Как распечатать древовидную карту в обратном порядке

В моем задании мы читаем из файла текст:

Быть или не быть: вот в чем вопрос:
Будь благороднее в уме страдать

, тогда посчитайте, сколько раз каждое из них произошло. Мне удалось распечатать эту карту без сортировки, затем я смог создать TreeMap и распечатать ее в естественном порядке (как показано ниже). Я не умею печатать в обратном порядке. Я знаю способ использовать компаратор, но я немного заржавел, поэтому сделал все, что мог. Кроме того, я не знаю, как настроить компаратор для сортировки Treemap в обратном порядке.

Вот мой метод печати без сортировки и естественной сортировки:

private static void sortPrintFrequencies(Map<String,Integer> vocabulary, PrintStream                                                  output {
Iterator iterator = vocabulary.keySet().iterator();
System.out.println("Unsorted");

while (iterator.hasNext()) {
 String key = iterator.next().toString();
 String value = vocabulary.get(key).toString();
 String times = "times.";
 String appears = "appears";

System.out.printf("%35s", key + "    " + appears + "    " + value + " "+ times);
System.out.println();
    }
System.out.println("========================================");
System.out.println("SORTED NATURALLY BY KEY");
TreeMap newVocabulary = new TreeMap(vocabulary);
Iterator iterator2 = newVocabulary.keySet().iterator();
while (iterator2.hasNext()) {
  String key = iterator2.next().toString();
  String value = newVocabulary.get(key).toString();
  String times = "times.";
  String appears = "appears";

    System.out.printf("%35s", key + "    " + appears + "    " + value + " "+ times);
    System.out.println();
}
  TreeMap revVocabulary = new TreeMap(new RevCmpKey());

  System.out.println("========================================");

}

Вот мой компаратор:

import java.util.*;
public class RevCmpKey implements Comparator<String> {
public int compare(String e1, String e2) {
    //compareTo in String classs
    if(e1.compareTo(e2) <1)return -1;
    if(e1.compareTo(e2) >1)return 1;
    return 0;
}
}
16
задан Dávid Horváth 13 September 2015 в 14:50
поделиться