文档章节

Java List 自定义排序

加速器
 加速器
发布于 2016/04/13 11:41
字数 297
阅读 37
收藏 0

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

}

运行结果:

© 著作权归作者所有

加速器
粉丝 0
博文 18
码字总数 2227
作品 0
南京
程序员
私信 提问
java集合入门和深入学习,看这篇就差不多了

集合框架: Java中的集合框架大类可分为Collection和Map;两者的区别: Collection是单列集合;Map是双列集合 Collection中只有Set系列要求元素唯一;Map中键需要唯一,值可以重复 Collecti...

sihailoveyan
2018/05/04
184
2
Java8-2-Lambda表达式实战-一句话实现Map中按照Value排序

今天我们来实战一把, 对Map的Value值排序进行简化. 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群...

编程SHA
2018/12/19
26
0
数据库中间件 Sharding-JDBC 源码分析 —— 结果归并

摘要: 原创出处 http://www.iocoder.cn/Sharding-JDBC/result-merger/ 「芋道源码」欢迎转载,保留摘要,谢谢! 本文主要基于 Sharding-JDBC 1.5.0 正式版 1. 概述 2. MergeEngine 2.1 Selec...

芋道源码
2017/10/29
259
0
Java PriorityQueue && PriorityBlockingQueue

Java PriorityQueue && PriorityBlockingQueue 我们知道队列是遵循先进先出(First-In-First-Out)模式的,但有些时候需要在队列中基于优先级处理对象。举个例子,比方说我们有一个每日交易时...

秋风醉了
2015/01/12
194
0
Java中使用Map统计对象数目

Java 参考: How to count duplicated items in Java List

亚林瓜子
2018/10/16
16
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
今天
8
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
今天
6
0
前端——使用base64编码在页面嵌入图片

因为页面中插入一个图片都要写明图片的路径——相对路径或者绝对路径。而除了具体的网站图片的图片地址,如果是在自己电脑文件夹里的图片,当我们的HTML文件在别人电脑上打开的时候图片则由于...

被毒打的程序猿
今天
8
0
Flutter 系列之Dart语言概述

Dart语言与其他语言究竟有什么不同呢?在已有的编程语言经验的基础上,我们该如何快速上手呢?本篇文章从编程语言中最重要的组成部分,也就是基础语法与类型变量出发,一起来学习Dart吧 一、...

過愙
今天
5
0
rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部