ArrayList 排序

简单说明:

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

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值