我有hashmap,其键如"folder/1.txt,folder/2.txt,folder/3.txt",值包含这些文本文件数据.
现在我被困了.我想对此列表进行排序.但它不允许我这样做:(这是我的hashmap数据类型:
HashMap<String, ArrayList<String>>
Run Code Online (Sandbox Code Playgroud)
以下函数工作正常但是arraylist不适用于hashmap.
Collections.sort(values, Collections.reverseOrder());
Run Code Online (Sandbox Code Playgroud)
我也尝试了MapTree,但它也没有用,或者可能是我无法使它工作.我使用以下步骤使用maptree对代码进行排序
HashMap testMap = new HashMap();
Map sortedMap = new TreeMap(testMap);
Run Code Online (Sandbox Code Playgroud)
还有其他办法吗?
我有一个疑问,因为我的密钥是(文件夹/ 1.txt,文件夹/ 2.txt)可能是这个原因?
Chi*_*Uni 10
我想你想要按键列表排序.
如果调用了hashmap h,那么试试这个:
SortedSet<String> sortedKeys = new TreeSet<String>(h.keySet());
Run Code Online (Sandbox Code Playgroud)
为什么不这样做呢?
Map<String, ValueObject> testMap = new TreeMap<String, ValueObject>();
Run Code Online (Sandbox Code Playgroud)
ValueObject你用于价值观的任何类别在哪里.
编辑:这是基于一些假设 - 等待获取更多信息,以了解OP真正需要什么.