Java将Hashmap放入树映射

Java将Hashmap放入树映射,java,hashmap,treemap,Java,Hashmap,Treemap,如前一个问题所述,我目前正在从一个文本文件中阅读200万行 现在我将这些信息存储到HashMap中,我想通过TreeMap对其进行排序,因为我想使用ceilingkey。以下方法正确吗 private HashMap<Integer, String> hMap = new HashMap(); private TreeMap<Integer, String> tMap = new TreeMap<Integer, String>(hMap); priva

如前一个问题所述,我目前正在从一个文本文件中阅读200万行

现在我将这些信息存储到HashMap中,我想通过TreeMap对其进行排序,因为我想使用ceilingkey。以下方法正确吗

private HashMap<Integer, String> hMap = new HashMap();

private TreeMap<Integer, String> tMap = new TreeMap<Integer, String>(hMap);
private HashMap hMap=new HashMap();
私有树映射tMap=新树映射(hMap);
HashMap HashMap=newhashmap();
TreeMap TreeMap=新的TreeMap();
树映射putAll(hashMap);

无论如何都应该有效。

这样就可以了:

HashMap<Integer, String> hashMap = new HashMap<>();
TreeMap<Integer, String> treeMap = new TreeMap<>(hashMap);
HashMap HashMap=newhashmap();
TreeMap TreeMap=新的TreeMap(hashMap);
但是我不建议使用
HashMap
来存储输入。你最终会看到两张地图上都有相同的巨大数据。可以在运行中直接添加到
TreeMap
中,也可以使用
List
TreeMap
转换

此外,考虑到效率更高。

<代码> HASMAP HASMAP =新HASMAP(); TreeMap TreeMap=新的TreeMap(); 移除(null); 树映射putAll(hashMap);
HashMap将允许null,但TreeMap不允许。在添加到TreeMap之前,请从键集

集合中删除null。排序(hMap)
Collections.sort(hMap,带有我自己的比较器)
?为什么不直接将其放入
树状图中呢?为什么需要额外的步骤?hrm…我仍然喜欢用treemap进行排序,但在我的代码中,treemap是empty@suresh附件:
Collections.sort(hMap)
不起作用,
sort()
只处理列表你是在开玩笑吧<代码>putAll()
:)。签出源代码链接,我added@user2822351我不是说这个答案是错的,我是说这个答案等于你现在正在做的事情。它是正确的,但是构造函数的用法更优雅。@user2822351问题是。。。这与您在上面问题中发布的内容有什么不同吗!?@Akkusativobjekt,我正在使用构造函数,但它不起作用。当我尝试打印时,树映射是空的
HashMap<Integer, String> hashMap = new HashMap<>();
TreeMap<Integer, String> treeMap = new TreeMap<>(hashMap);
HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>();
hashMap.remove(null);
treeMap.putAll(hashMap);