集合排序严谨简单实现

/**
 * 测试类
 */
public class RiskLimit implements Serializable {
    /**
     * 额度值
     */
    private Integer value;
    /**
     * 起始值
     */
    private Integer start;
    /**
     * 结束值
     */
    private Integer end;

    public Integer getValue() {
        return value;
    }

    public void setValue(Integer value) {
        this.value = value;
    }

    public Integer getStart() {
        return start;
    }

    public void setStart(Integer start) {
        this.start = start;
    }

    public Integer getEnd() {
        return end;
    }

    public void setEnd(Integer end) {
        this.end = end;
    }

    @Override
    public String toString() {
        return "RiskLimit{" +
                "start=" + start +
                ", end=" + end +
                ", value=" + value +
                '}';
    }
}

测试 假设根据集合中的Risklimit元素的start进行测试

import org.assertj.core.util.Lists;
import org.junit.Test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

/**
 * 集合排序
 */
public class ListTest {

    @Test
    public void test() {
        RiskLimit riskLimit = new RiskLimit();
        riskLimit.setStart(300);
        riskLimit.setEnd(349);
        riskLimit.setValue(1000);
        RiskLimit riskLimit1 = new RiskLimit();
        riskLimit1.setStart(350);
        riskLimit1.setEnd(399);
        riskLimit1.setValue(2000);
        RiskLimit riskLimit2= new RiskLimit();
        riskLimit2.setStart(400);
        riskLimit2.setEnd(449);
        riskLimit2.setValue(3000);
        ArrayList<RiskLimit> riskLimits = Lists.newArrayList(riskLimit1, riskLimit, riskLimit2);
        System.out.println("未排序之前:riskLimits = " + riskLimits);
        Collections.sort(riskLimits, new Comparator<RiskLimit>() {
            @Override
            public int compare(RiskLimit o1, RiskLimit o2) {
                return o1.getStart().compareTo(o2.getStart());
            }
        });
        System.out.println("排序之后:riskLimits = " + riskLimits);
    }
}

输出结果:

未排序之前:riskLimits = [RiskLimit{start=350, end=399, value=2000}, RiskLimit{start=300, end=349, value=1000}, RiskLimit{start=400, end=449, value=3000}]

排序之后:riskLimits = [RiskLimit{start=300, end=349, value=1000}, RiskLimit{start=350, end=399, value=2000}, RiskLimit{start=400, end=449, value=3000}]
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值