map = new LinkedHashMap<String, String>();
list = new ArrayList<HashMap<String, String>>();
map.put("id", id);
map.put("amt", amt);
list.add(map);
如何按amt
的升序对列表进行排序。我无法做到这一点。
如果有任何帮助,我将不胜感激。
我正在循环中添加 id
、amt
。如何使用 key as amt
进行排序?
id=1,2,3,4,5
amt=1000,33333,77,9087,5432
最佳答案
简单地使用 TreeMap
:
Map<String, String> map = new TreeMap<String, String>();
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
map.put("id", "id");
map.put("amd", "amd");
list.add(map);
System.out.println(list);
输出:
[{amd=amd, id=id}]
现在,如果 Id
是大写的而 amd
是小写的,那么您应该使用 覆盖
(确保字符串键的排序正确):TreeMap
的默认行为>构造函数中的比较器
Map<String, String> map = new TreeMap<String, String>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.toLowerCase().compareTo(o2.toLowerCase());
}
});
关于java - 使用键升序排序arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19257365/