java Collections.sort()实现List排序自定义方法

时间:2021-09-10 01:48:08

方法一:

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());
}
} }
}