首页 热点资讯 义务教育 高等教育 出国留学 考研考公

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,是有序的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com