加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何以相反的顺序打印树形图

发布时间:2020-12-14 16:23:09 所属栏目:Java 来源:网络整理
导读:在我的作业中,我们从文件中读取文本: To be,or not to be: that is the question: Whether ’tis nobler in the mind to suffer 然后计算每次发生的时间.我已经能够打印这张地图未分类,然后我能够制作一个TreeMap并以自然的顺序打印(如下所示).我不知道如何
在我的作业中,我们从文件中读取文本:

To be,or not to be: that is the question:
Whether ’tis nobler in the mind to suffer

然后计算每次发生的时间.我已经能够打印这张地图未分类,然后我能够制作一个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;
}
}

解决方法

如何将地图复制成新的地图呢?
new TreeMap<String,Integer>(Collections.reverSEOrder())

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读