zoukankan      html  css  js  c++  java
  • Java集合排序

    【 1.对普通的包装类基本数据类型的list数组排序(Integer,Long,Double) 】

     Collections.sort(List list)

    【例】

    List<Long> musicIds = new ArrayList<>();
    musicIds.add(0, 1l);
    musicIds.add(1, 10l);
    musicIds.add(1, 2l);
    musicIds.add(1, 8l);
    musicIds.add(1, 4l);
    System.out.println("排序前:" + musicIds.toString());
    Collections.sort(musicIds);
    System.out.println("从小到大排序后:" + musicIds.toString());

    【运行结果】

    【 2.对普通的对象进行排序,根据对象中的某个成员变量(比如id) 】

    public static void sort2(){
        List<DataResponse> dataResponseList = Lists.newArrayList();
        dataResponseList.add(new DataResponse(1001L,222));
        dataResponseList.add(new DataResponse(1002L,444));
        dataResponseList.add(new DataResponse(1003L,111));
        dataResponseList.add(new DataResponse(1004L, 888));
        Collections.sort(dataResponseList, new Comparator<DataResponse>() {
            @Override
            public int compare(DataResponse o1, DataResponse o2) {
                return Integer.compare(o1.dataType, o2.dataType);
            }
        });
    
        System.out.println("按dataType排序:
    " + dataResponseList.toString());
    
        Collections.sort(dataResponseList, new Comparator<DataResponse>() {
            @Override
            public int compare(DataResponse o1, DataResponse o2) {
                return Double.compare(o1.dataId,o2.dataId);
            }
        });
    
        System.out.println("
    按dataId排序:
    "+dataResponseList.toString());
    }
    
    static class DataResponse{
        Long dataId;
        Integer dataType;
    
        public DataResponse() {
        }
    
        public DataResponse(Long dataId, Integer dataType) {
            this.dataId = dataId;
            this.dataType = dataType;
        }
    
        public Long getDataId() {
            return dataId;
        }
    
        public void setDataId(Long dataId) {
            this.dataId = dataId;
        }
    
        public Integer getDataType() {
            return dataType;
        }
    
        public void setDataType(Integer dataType) {
            this.dataType = dataType;
        }
    
        @Override
        public String toString() {
            return "DataResponse{" +
                    "dataId=" + dataId +
                    ", dataType=" + dataType +
                    '}';
        }
    }

    【运行结果】

  • 相关阅读:
    398. Random Pick Index
    382. Linked List Random Node
    645. Set Mismatch
    174. Dungeon Game
    264. Ugly Number II
    115. Distinct Subsequences
    372. Super Pow
    LeetCode 242 有效的字母异位词
    LeetCode 78 子集
    LeetCode 404 左叶子之和
  • 原文地址:https://www.cnblogs.com/HigginCui/p/7357101.html
Copyright © 2011-2022 走看看