ers*_*hio 7 java freemarker map
我在java中有这个HashMap:
HashMap<String, String> map = new HashMap<String, String>();
map.put("k1", "3");
map.put("k2", "4");
map.put("k3", "2");
map.put("k4", "6");
map.put("k5", "1");
map.put("k6", "5");
Run Code Online (Sandbox Code Playgroud)
我在这种模式下使用freemarker模板打印:
<#list map?values as v>
${v} -
</#list>
Run Code Online (Sandbox Code Playgroud)
但它按此顺序打印:
2 - 6 - 1 - 5 - 3 - 4
Run Code Online (Sandbox Code Playgroud)
我想按此顺序打印:
1 - 2 - 3 - 4 - 5 -6
Run Code Online (Sandbox Code Playgroud)
如何使用freemarker模板对值进行排序?
试试这个:
<#list map?values?sort as v>
${v} -
</#list>
Run Code Online (Sandbox Code Playgroud)
注意sort
内置函数用于值序列.
这种行为是可以预见的,因为 HashMap 没有排序。正如评论中所指出的,SortedMap(例如 TreeMap)将根据键进行排序。因此,您将必须删除一些代码来对此进行排序。
请参阅按值对 Map<Key, Value> 进行排序 (Java)
归档时间: |
|
查看次数: |
7406 次 |
最近记录: |