Java将Hashmap放入Treemap

我正在阅读文本文件中的200万行 ,如上一个问题中提到的Java最快的方式来阅读200万行的文本文件

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

private HashMap hMap = new HashMap(); private TreeMap tMap = new TreeMap(hMap); 

 HashMap hashMap = new HashMap(); TreeMap treeMap = new TreeMap(); treeMap.putAll(hashMap); 

无论如何应该工作。

这样可以正常工作:

 HashMap hashMap = new HashMap<>(); TreeMap treeMap = new TreeMap<>(hashMap); 

但我不建议使用HashMap存储输入。 您最终得到两个包含相同大数据的地图。 可以在运行中直接添加到TreeMap也可以使用List to TreeMap转换。

此外,为了更高效率,考虑原始集合 。

 HashMap hashMap = new HashMap(); TreeMap treeMap = new TreeMap(); hashMap.remove(null); treeMap.putAll(hashMap); 

在添加到Treemap之前,HashMap将允许null但TreeMap不是这样,从keyset中删除null