java如何让list按照list里面的某个字段排序,list里面的有很多字段!_百 ...
发布网友
发布时间:2022-04-24 02:27
我来回答
共4个回答
热心网友
时间:2022-04-27 14:04
给你个例子看下
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 $ {
public static void main(String[] args) {
List<Map<String, Integer>> data = new ArrayList<Map<String, Integer>>();
init(data);
System.out.println("排序前:");
System.out.println(data);
sort(data);
System.out.println("排序后:");
System.out.println(data);
}
private static void sort(List<Map<String, Integer>> data) {
Collections.sort(data, new Comparator<Map>() {
public int compare(Map o1, Map o2) {
Integer a = (Integer) o1.get("PRECOUNTOUT");
Integer b = (Integer) o2.get("PRECOUNTOUT");
// 升序
return a.compareTo(b);
// 降序
// return b.compareTo(a);
}
});
}
private static void init(List<Map<String, Integer>> data) {
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("COUNTTICKET", 1);
map.put("PRECOUNTOUT", 2);
data.add(map);
map = new HashMap<String, Integer>();
map.put("COUNTTICKET", 6);
map.put("PRECOUNTOUT", 7);
data.add(map);
map = new HashMap<String, Integer>();
map.put("COUNTTICKET", 8);
map.put("PRECOUNTOUT", 5);
data.add(map);
map = new HashMap<String, Integer>();
map.put("COUNTTICKET", 2);
map.put("PRECOUNTOUT", 3);
data.add(map);
}
}
热心网友
时间:2022-04-27 15:22
让你的list的泛型实现java.lang.Comparable接口即可
热心网友
时间:2022-04-27 16:56
泛型类实现Comparable接口,重写 compareTo方法。
热心网友
时间:2022-04-27 18:48
使用ArrayList,是有序的