java如何让list按照list里面的某个字段排序,list里面的有很多字段!
例如:list=[{COUNTTICKET=1,PRECOUNTOUT=2},{COUNTTICKET=6,PRECOUNTOUT=7},{COUNTTICKET=7,P...
例如:list=[{COUNTTICKET=1, PRECOUNTOUT=2}, {COUNTTICKET=6, PRECOUNTOUT=7}, {COUNTTICKET=7, PRECOUNTOUT=7}, {COUNTTICKET=1, PRECOUNTOUT=1}]
求大侠帮忙下! 展开
求大侠帮忙下! 展开
4个回答
展开全部
给你个例子看下
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);
}
}
展开全部
让你的list的泛型实现java.lang.Comparable接口即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
泛型类实现Comparable接口,重写 compareTo方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-19
展开全部
使用ArrayList,是有序的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询