简单说明:
ArrayList是TestBean的集合,根据TestBean类中的属性对ArrayList中TestBean 排序。
方法:使用Comparator比较器接口和Collections类进行排序。
package audition;
public class TestBean {
public String key1;
public String key2;
public String key3;
public int value1;
public int value2;
public String toString(){
return key1+" "+key2+" "+key3+" "+value1+" "+value2;
}
}
import java.util.Comparator;
import audition.TestBean;
public class ComparatorTest implements Comparator<TestBean> {
@Override
public int compare(TestBeano1, TestBean o2) {
if(o2.key1.equals(o1.key1)==false)
return o2.key1.compareTo(o1.key1);
else if(o2.key2.equals(o1.key2)==false)
return o2.key2.compareTo(o1.key2);
else if(o2.key3.equals(o1.key3)==false)
return o2.key3.compareTo(o1.key3);
return 0;
}
}
package audition;
import java.util.ArrayList;
import audition.TestBean;
import java.util.Collections;
public class TestMain {
public ArrayList<TestBean> init(){
ArrayList<TestBean> al = new ArrayList<TestBean>();
for(int i = 0;i<5;i++){
TestBean tb = new TestBean();
tb.key1 = "1"+i;
tb.key2 = "2"+i;
tb.key3 = "3"+i;
al.add(tb);
}
return al;
}
//ArrayList中的bean,根据key1,key2,key3进行排序,key1>key2>key3
public void sort(ArrayList<TestBean> al_tb){
ComparatorTest com = new ComparatorTest();
Collections.sort(al_tb, com);
}
public void display(ArrayList<TestBean> al_tb){
for(TestBean tb : al_tb){
System.out.println(tb);
}
}
public static void main(String[] str){
TestMain tm = new TestMain();
ArrayList<TestBean> al_tb = tm.init();
tm.sort(al_tb);
tm.display(al_tb);
}
}