文档章节

List排序的问题

lgscofield
 lgscofield
发布于 2015/06/26 13:58
字数 218
阅读 46
收藏 0

码上生花,ECharts 作品展示赛正式启动!>>>

1.对List进行排序可以通过这种方式,实现(implements) Comparable<T>接口
@Override
    public int compareTo( T  o)
    {
        if (null == o)
        {
            return -1;
        }

        RunningInstancesItemType instance0 = this.instanceInfo;
        RunningInstancesItemType instance1 = o.getInstanceInfo();

        if (null == instance0 || null == instance1)
        {
            return -1;
        }
        else
        {
            // 按运行时间排序
            String launchTime0 = this.getInstanceInfo().getLaunchTime();
            String launchTime1 = o.getInstanceInfo().getLaunchTime();
            if (!launchTime0.equals(launchTime1))
            {
                return launchTime1.compareTo(launchTime0);
            }
            else
            {
                // 如果运行时间相同,则按Id排序
                String instanceId0 = this.getInstanceInfo().getInstanceId();
                String instanceId1 = o.getInstanceInfo().getInstanceId();
                return instanceId0.compareTo(instanceId1);
            }
        }
    }

    @Override
    public boolean equals(Object obj)
    {
        boolean equals;

        if (null == obj)
        {
            equals = false;
        }
        else if (this == obj)
        {
            equals = true;
        }
        else if (this.getClass() != obj.getClass())
        {
            equals = false;
        }
        else
        {
            InstanceBean o = (InstanceBean)obj;
            RunningInstancesItemType instance1 = this.instanceInfo;
            RunningInstancesItemType instance2 = o.getInstanceInfo();

            if (null == instance1 || null == instance2)
            {
                equals = false;
            }
            else
            {
                if (null == instance1.getLaunchTime())
                {
                    equals = false;
                }
                else
                {
                    equals = instance1.getLaunchTime().equals(instance2.getLaunchTime());
                }
            }
        }

        return equals;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result
                + ((null == this.getInstanceInfo() || null == this.getInstanceInfo().getLaunchTime()) ?
                        0 : this.getInstanceInfo().getLaunchTime().hashCode());
        return result;
    }

2.也可以使用TreesSet实现
SortedSet<T> sortedSet = new TreeSet<T>();
List<T> instanceList;
sortedSet.add(***);//此处*为T的实例化
instanceList = new ArrayList<T>(sortedSet);

本文转载自:http://lgscofield.iteye.com/blog/1567385

lgscofield

lgscofield

粉丝 24
博文 141
码字总数 63275
作品 0
南京
架构师
私信 提问
加载中
请先登录后再评论。
排序——升序降序的使用

前言 在做项目的过程中,偶尔会用到对集合中数据进行升序降序的排列问题,问题不是很难,但有时处理起来非常浪费时间,于是今天就把排序问题稍微处理了下,整理成一个排序工具类——Compare...

奔跑的佩恩
2017/12/26
0
0
Python排列函数:sort、sorted

排序函数介绍:sort()和sorted()都属于Python list的排序方法 区别:sort()属于永久性排列,直接改变该list; sorted属于暂时性排列,会产生一个新的序列。 #sorted()>>> sorted([5, 2, 3, ...

osc_wiag8a8b
2018/05/18
3
0
手把手教你如何用java8新特性将List中按指定属性排序,过滤重复数据

在java中常常会遇到这样一个问题,在实际应用中,总会碰到对List排序并过滤重复的问题,如果List中放的只是简单的String类型过滤so easy,但是实际应用中并不会这么easy,往往List中放的是一...

osc_8b62m5yk
2019/08/06
4
0
C++ list结构体变量排序

以下内容是自己整理的根据结构体里面的不同变量,对list排序的实例,若有问题可以留言。仅供参考。 #include #include #include using namespace std; //声明结构体 typedef struct testLis...

Freedom_lyx
2018/08/10
0
0
Freemarker中如何遍历List

Freemarker中如何遍历List摘要:在Freemarker应用中经常会遍历List获取需要的数据,并对需要的数据进行排序加工后呈现给用户。那么在Freemarker中如何遍历List,并对List中数据进行适当的排序...

oecp
2011/05/18
459
0

没有更多内容

加载失败,请刷新页面

加载更多

【开发环境】 irun(ncverilog)无法dump fsdb波形问题解决方法

【开发环境】 irun(ncverilog)无法dump fsdb波形问题解决方法 参考文章: (1)【开发环境】 irun(ncverilog)无法dump fsdb波形问题解决方法 (2)http://www.cnblogs.com/digital-wei/p/60...

osc_4b2ephd0
刚刚
0
0
android edittext 点击回车会响应两次的解决方案

android edittext 点击回车会响应两次的解决方案 参考文章: (1)android edittext 点击回车会响应两次的解决方案 (2)http://www.cnblogs.com/exmyth/p/4469458.html 备忘一下。...

osc_x03qsedc
1分钟前
0
0
微信H5支付 遇到坑的一些解决方法

微信H5支付 遇到坑的一些解决方法 参考文章: (1)微信H5支付 遇到坑的一些解决方法 (2)http://www.cnblogs.com/foreversun/p/9068050.html 备忘一下。...

osc_81ub7i61
3分钟前
0
0
Nginx配置TCP服务负载均衡

# Nginx配置TCP服务负载均衡 ## 前置条件 - nginx 1.18 (1.9之后支持tcp负载) - 两个前置服务 ## 配置文件修改 Legacy Stable ``` # cat nginx.conf user nginx; # 增加工作线程 worker_pro...

osc_cd2qhmfp
4分钟前
0
0
java格式话时间报错java cannot format given object as a date

代码 String MonthYear = null; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("mm/yyyy"); String dateformat = "2012-11-17T00:00:00.000-05:00"MonthYear = simple......

osc_e45irv7l
5分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部