依据List内部对象的某字段进行排序的方法:Collections.sort()
http://www.iteye.com/topic/1128840
依据List内部对象的某字段进行排序的方法
List内部对象类IntString,test为测试用例类
用Collections.sort方法,实现对List的排序,需要重写Comparator方法
代码如下:
List里存放的实体
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
Java代码 package org.iti.wxl.listobjectsort; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Test { public static void main(String[] args) { List<IntString> islist = new ArrayList<IntString>(); IntString is1 = new IntString(); is1.setNo(1); is1.setStr("计091"); IntString is3 = new IntString(); is3.setNo(3); is3.setStr("计093"); IntString is2 = new IntString(); is2.setNo(2); is2.setStr("计092"); islist.add(is1); islist.add(is3); islist.add(is2); System.out.println(islist); Collections.sort(islist, new MyComparator()); System.out.println(islist); } } class MyComparator implements Comparator<Object> { @Override public int compare(Object o1, Object o2) { IntString iso1 = (IntString)o1; IntString iso2 = (IntString)o2; String str1 = iso1.getStr(); String str2 = iso2.getStr(); return str1.compareTo(str2); // Integer no1 = iso1.getNo(); // Integer no2 = iso2.getNo(); // if(no1 > no2){ // return 1; // }else if(no1 < no2){ // return -1; // }else{ // return 0; // } } } |