嗨,最近我一直在练习 Java 代码挑战。
这是我的代码
LinkedHashMap<String, String> user = new LinkedHashMap<String, String>();
LinkedHashMap<String, String> user1 = new LinkedHashMap<String, String>();
ArrayList<HashMap<String , String>> list = new ArrayList<HashMap<String , String>>();
user.put("name", "dave");
user.put("age", "27");
user.put("hobby", "guitar");
user1.put("name", "adam");
user1.put("age", "15");
user1.put("hobby", "sports");
list.add(user);
list.add(user1);
System.out.println(list.toString());
输出: [{名字=戴夫,年龄=27,爱好=吉他},{名字=亚当,年龄=15,爱好=运动}]
无论如何,我可以使用哈希图中的任何键对这个数组列表进行排序或反转,例如按名称值排序或按年龄值排序?
提前致谢
“...我是否可以使用哈希图中的任何键对这个数组列表进行排序或反转,例如按名称值排序或按年龄值排序?...”
您可以使用 List#sort 和 Comparator#comparing 方法。
list.sort(Comparator.comparing(x -> x.get("name")));
list.sort(Comparator.comparing(x -> x.get("age")));
两个例程的输出。
[{name=adam, age=15, hobby=sports}, {name=dave, age=27, hobby=guitar}]