Java List 自定义排序

本文详细解析了如何使用Java实现有序列表类TargetList,并通过测试代码展示了类的功能,包括对象属性的初始化、获取与设置,以及实现Comparable接口进行元素排序的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

List元素定义

/**
 * @file: TargetList.java
 *
 * @author: 蒋振
 *
 * @date: 2016年3月3日 上午11:07:07
 *
 * @copyright: XXXX
 */

/**
 * 
 *
 * @author 蒋振
 * @version 1.0 Created on 2016年3月3日 上午11:07:07
 */
public class TargetList implements Comparable<TargetList> {
    
    private Long id;
    
    private Long sortNo;
    
    public TargetList(Long id,Long sortNo){
        this.id = id;
        this.sortNo = sortNo;
    }
    
    public Long getId() {
        return id;
    }

    
    public void setId(Long id) {
        this.id = id;
    }

    
    public Long getSortNo() {
        return sortNo;
    }

    
    public void setSortNo(Long sortNo) {
        this.sortNo = sortNo;
    }

    @Override
    public int compareTo(TargetList o) {
        if(this.getSortNo()==null&&o.getSortNo()==null){
            return 0;
        }else if(this.getSortNo()==null&&o.getSortNo()!=null){
            return 1;
            
        }else if(this.getSortNo()!=null&&o.getSortNo()==null){
            return -1;
        }
        else{
            return this.getSortNo().compareTo(o.getSortNo());
        }
        
    }

}

测试代码:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;


/**
 * @file: Maint.java
 *
 * @author: 蒋振
 *
 * @date: 2016年3月3日 上午11:06:16
 *
 * @copyright: XXXX
 */

/**
 * 
 *
 * @author 蒋振
 * @version 1.0 Created on 2016年3月3日 上午11:06:16
 */
public class Main {

    /**
     *
     * 
     * @param args
     * @author: 蒋振
     * @date: Created on 2016年3月3日 上午11:06:16
     */
    public static void main(String[] args) {
        List<TargetList> tls = new ArrayList<TargetList>();
        tls.add(new TargetList(3L,4L));
        tls.add(new TargetList(5L,null));
        tls.add(new TargetList(7L,9L));
        tls.add(new TargetList(2L,1L));
        tls.add(new TargetList(1L,null));
        Collections.sort(tls);
        for(TargetList tl : tls){
            System.out.println(String.format("ID = %d NO = %d",tl.getId(),tl.getSortNo()));
        }
        Long i=1L;
        Long j=2L;
        Boolean k = j.equals(i+1);
        Boolean l= j==i+1;
        System.out.println(k);
        System.out.println(l);
        
    }

}

运行结果:

114025_r7AY_1469683.png

转载于:https://my.oschina.net/milize/blog/657933

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值