List集合内部排序

首先定义一个实体(实例化以下,有get/set,toString)例如:实体类为(TestA)

package test;

import java.io.Serializable;

public class TestA implements Serializable{

	private static final long serialVersionUID = -8968350748602548887L;

    private String name;

    //变量类型必须要为int的封装类型,因为只有是封装类型才可以调用Integer的方法
    private Integer order;
    
    private String amount;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getOrder() {
		return order;
	}

	public void setOrder(Integer order) {
		this.order = order;
	}

	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}

	@Override
	public String toString() {
		return "TestA [name=" + name + ", order=" + order + ", amount=" + amount + "]";
	}

	
}

写个测试方法

package test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.logging.Logger;

public class Test {

	public static void main(String[] args) {
        List<TestA> listA = new ArrayList<TestA>();
        //TestA 即是上面类
        TestA a1 = new TestA();
        a1.setName("张大胖");
        a1.setOrder(1);
        a1.setAmount("3.16");
        listA.add(a1);
        TestA a5 = new TestA();
        a5.setName("王晓梅");
        a5.setOrder(5);
        a5.setAmount("0.38");
        listA.add(a5);
        TestA a3 = new TestA();
        a3.setName("刘晓彤");
        a3.setOrder(3);
        a3.setAmount("1.15");
        listA.add(a3);
        System.out.println("listA 排序前:" + listA.toString());
        Collections.sort(listA, new Comparator<TestA>() {
            @Override
            public int compare(TestA o1, TestA o2) {
                //升序
                return o1.getAmount().compareTo(o2.getAmount());
            }
        });
        System.out.println("listB 升序排序后:" +listA.toString());
        /*Collections.sort(listA, new Comparator<TestA>() {
            @Override
            public int compare(TestA o1, TestA o2) {
                //降序  getAmount这是具体比较的字段
                return o2.getAmount().compareTo(o1.getAmount());
            }
        });
        System.out.println("listB 降序排序后:" +listA.toString());*/
    }
}

如果有用得到得地方自己写写看看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值