import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test1 {
public static void main(String[] args) {
List<Map<String,String>>data = new ArrayList<Map<String,String>>();
init(data);
System.out.println("排序前:");
System.out.println(data);
sort(data);
System.out.println("排序后:");
System.out.println(data);
}
/**
* 根据key2排序
*/
private static void sort(List<Map<String, String>> data) {
Collections.sort(data, new Comparator<Map>() {
public int compare(Map o1, Map o2) {
String a = (String) o1.get("KEY2");
String b = (String) o2.get("KEY2");
// 升序 0 -> 9 -> A -> Z -> a -> z
return a.compareTo(b);
// 降序
// return b.compareTo(a);
}
});
}
private static void init(List<Map<String, String>> data) {
Map<String, String> map = new HashMap<String, String>();
map.put("KEY1", "a");
map.put("KEY2", "abd");
data.add(map);
map = new HashMap<String, String>();
map.put("KEY1", "b");
map.put("KEY2", "abc");
data.add(map);
map = new HashMap<String, String>();
map.put("KEY1", "c");
map.put("KEY2", "d");
data.add(map);
map = new HashMap<String, String>();
map.put("KEY1", "d");
map.put("KEY2", "a");
data.add(map);
}
}
打印结果:
排序前:
[{KEY2=abd, KEY1=a}, {KEY2=abc, KEY1=b}, {KEY2=d, KEY1=c}, {KEY2=a, KEY1=d}]
排序后:
[{KEY2=a, KEY1=d}, {KEY2=abc, KEY1=b}, {KEY2=abd, KEY1=a}, {KEY2=d, KEY1=c}]
网友评论