Comment Imprimer treemap dans l'ordre inverse

Dans mon travail, nous avons lu à partir d'un fichier texte:

Être, ou ne pas être: telle est la question:
Si c'est de plus noble dans l'esprit de souffrir

puis compter le nombre de fois chacun a eu lieu. J'ai été en mesure d'imprimer cette carte non triés, puis j'ai été en mesure de faire un TreeMap et l'imprimer dans l'ordre naturel (ce qui est indiqué ci-dessous). Je ne sais pas comment faire pour imprimer dans l'ordre inverse. Je connais un moyen d'utiliser un comparateur, mais je suis un peu rouillé donc j'ai fait ce que je peux. Par ailleurs, je ne sais pas comment régler le comparateur à trier le Treemap dans l'ordre inverse.

Voici ma méthode pour imprimer des ménagères et, Naturellement, triés:

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("========================================");

}

Voici mon comparateur:

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;
}
}
Si votre question est comment mettre en place un comparateur?
non, en fait je m'attendais à quelqu'un de ne pas seulement m'aider avec mon comparateur, mais à utiliser pour trier les TreeMap. Merci!
Je pense que vous devriez vous montrer plus d'effort puis. Cela semble un peu trop "donnez-moi teh codez" en ce moment. Peut-être montrer ce que vous pensez que la comparaison devrait ressembler, outre le squelette que vous avez?
oups!! c'est mon vieux comparateur de code!! mauvais changement. Merci pour le tuyau 🙂

OriginalL'auteur IC2D | 2012-02-18