zoukankan      html  css  js  c++  java
  • java Collections.sort()实现List排序自定义方法

    方法一:

    package testSimple;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    
    public class testCollectionSort {
        public static void main(String[] args) {
            List<TblPowerGroup> list = new ArrayList<TblPowerGroup>();
            list.add(new TblPowerGroup("100001", "cxx1"));
            list.add(new TblPowerGroup("100002", "cxx2"));
            list.add(new TblPowerGroup("100003", "cxx6"));
            list.add(new TblPowerGroup("100003", "cxx5"));
            list.add(new TblPowerGroup("100004", "cxx5"));
            list.add(new TblPowerGroup("100004", "cxx6"));
            Collections.sort(list, new Comparator<TblPowerGroup>() {
    
                @Override
                public int compare(TblPowerGroup o1, TblPowerGroup o2) {
                    if (o1.getGroupSn().compareTo(o2.getGroupSn()) == 0) {
                        return o1.getNodeName().compareTo(o2.getNodeName());
                    } else {
                        return o1.getGroupSn().compareTo(o2.getGroupSn());
                    }
                }
    
            });
            System.out.println(list);
        }
    }
    
    class TblPowerGroup {
        private String groupSn;
        private String nodeName;
    
        public TblPowerGroup(String groupSn, String nodeName) {
            super();
            this.groupSn = groupSn;
            this.nodeName = nodeName;
        }
    
        public String getGroupSn() {
            return groupSn;
        }
    
        public void setGroupSn(String groupSn) {
            this.groupSn = groupSn;
        }
    
        public String getNodeName() {
            return nodeName;
        }
    
        public void setNodeName(String nodeName) {
            this.nodeName = nodeName;
        }
    
        @Override
        public String toString() {
            return "TblPowerGroup [groupSn=" + groupSn + ", nodeName=" + nodeName
                    + "]";
        }
    
    }

    方法二:

    package testSimple;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    
    public class testCollectionSort2 {
        public static void main(String[] args) {
            List<TblPowerGroup> list = new ArrayList<TblPowerGroup>();
            list.add(new TblPowerGroup("100001", "cxx1"));
            list.add(new TblPowerGroup("100002", "cxx2"));
            list.add(new TblPowerGroup("100003", "cxx6"));
            list.add(new TblPowerGroup("100003", "cxx5"));
            list.add(new TblPowerGroup("100004", "cxx5"));
            list.add(new TblPowerGroup("100004", "cxx6"));
            Collections.sort(list, new TblPowerGroupSort());
            System.out.println(list);
        }
    
        private static class TblPowerGroupSort implements Comparator<TblPowerGroup> {
    
            @Override
            public int compare(TblPowerGroup o1, TblPowerGroup o2) {
                if (o1.getGroupSn().compareTo(o2.getGroupSn()) == 0) {
                    return o1.getNodeName().compareTo(o2.getNodeName());
                } else {
                    return o1.getGroupSn().compareTo(o2.getGroupSn());
                }
            }
    
        }
    }
  • 相关阅读:
    数学思想方法-python计算战(8)-机器视觉-二值化
    04-05组合问题_算法训练
    至HDFS附加内容
    HDU 1010 Tempter of the Bone heuristic 修剪
    二叉树3种遍历的非递归算法
    [Ramda] R.project -- Select a Subset of Properties from a Collection of Objects in Ramda
    [Ramda] Refactor a Promise Chain to Function Composition using Ramda
    [SVG] Combine Multiple SVGs into an SVG Sprite
    [Ramda] Difference between R.converge and R.useWith
    [Ramda] Refactor to a Point Free Function with Ramda's useWith Function
  • 原文地址:https://www.cnblogs.com/cxxjohnson/p/6257640.html
Copyright © 2011-2022 走看看