我创建了一个hashmap,我将目录存储为键,然后将其内容存储为值。 当我遍历哈希映射并打印出所有内容时,我得到了
files/abknl/bbxudleuf/jlffhq/y/xwjj/ell/ek.java
files/abknl/bbxudleuf/jlffhq/y/xwjj/ell/nu.java
files/abknl/bbxudleuf/jlffhq/y/xwjj/ell/os.java
files/abknl/bbxudleuf/jlffhq/y/xwjj/ell/njwqdp/di.html
files/abknl/bbxudleuf/jlffhq/y/xwjj/ell/njwqdp/po.html
但我想得到的是
files/abknl/bbxudleuf/jlffhq/y/xwjj/ell/njwqdp/di.html
files/abknl/bbxudleuf/jlffhq/y/xwjj/ell/njwqdp/po.html
files/abknl/bbxudleuf/jlffhq/y/xwjj/ell/ek.java
files/abknl/bbxudleuf/jlffhq/y/xwjj/ell/nu.java
files/abknl/bbxudleuf/jlffhq/y/xwjj/ell/os.java
有什么想法吗?
为此,我正在对哈希映射键进行排序,然后打印每个键的值
答案 0 :(得分:4)
HashMap
通常不会排序。您需要使用SortedMap
,例如TreeMap
。这个课程将允许您使用自己的Comparator
,因此您可以根据需要对其内容进行排序。来自TreeMap(Comparator<? super K>)
构造函数Javadoc:
构造一个新的空树图,根据给定的比较器排序。
答案 1 :(得分:0)
尝试使用TreeMap Comparator
,然后使用putAll
中的HashMap
个条目。
答案 2 :(得分:0)
如果您需要以HashMap
开头,则可以创建new TreeMap(myHashMap)
。这将具有相同的映射,但将按排序顺序迭代它们。