`

List排序的问题

    博客分类:
  • Java
阅读更多
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);
分享到:
评论

相关推荐

    实现了MFC list排序

    实现了MFC list排序实现了MFC list排序实现了MFC list排序实现了MFC list排序

    java List排序工具类

    java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List&lt;Person&gt; list = getData(); // 获取无序数据 new ...

    按照规则,对list排序

    * 对传入的list进行分组排序 * list里面数据格式 [01-01-开头.txt, 01-02-简介.jpg, 11-01-尾声.jpg, 11-03-空白.jpg, 11-04-空白2.jpg, 11-06-空白1.jpg, 11-02-答谢语.txt, 02-01-标题.jpg, 02-09-标题555.jpg, ...

    JAVA SortList 通用排序类

    JAVA SortList 通用排序类 从网上搜到一个java 对 List 排序的工具,自己改了下 支持 整数 和 浮点数 比较后排序,浮点数小数部分的有点问题,期待大牛帮忙优化。

    List集合排序222222

    导入jar 包 调用 String[] arr1 = new String[1]; ... 参数1 排序的集合 参数2 排序的字段(与定义字段一致) 可多个 参数3 排序方式(asc desc) 暂时只支持String 和int的排序 可能有些BUG 敬请谅解

    List对象排序通用方法

    List对象排序通用方法List对象排序通用方法List对象排序通用方法List对象排序通用方法

    c# List类排序方法

    List类几种排序方法比较灵活 可以根据自己的需要 选用合适的方法

    java List中对象多属性排序及各属性排序设置

    天才之作:通过泛型,对List中对象多属性排序,支持设置各属性排序方式(动态属性),看了之后绝对让你震撼!

    java中list排序

    在数据库中查出来的列表list中,往往需要对不同的字段重新排序,一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的list中排序,无疑会提高系统的性能。

    MFC实现ListControl排序

    网上关于ListControl排序说的云里雾里,所以大多数无法实现排序。该程序代码简练,注明了排序功能的几个关键点。 VC++6.0 MFC开发环境

    list集合树状排序-java

    list集合树状排序 对于前端jquery-treetable无法进行父子关联数据问题进行改进,后台传list集合前,对list进行排序,然后在返回到前台。

    MFC ListCtrl 排序

    MFC ListCtrl 排序 LVN_COLUMNCLICK 消息实现

    java List 排序 Collections.sort

    NULL 博文链接:https://xuedong.iteye.com/blog/1147254

    List Control排序的程序,带排序的三角形

    List Control的一个排序的程序,带有排序的三角,供大家学习参考

    java 使用Collections类对List的排序操作

    java 使用Collections类对List的排序操作 java 使用Collections类对List的排序操作

    list排序

    list排序

    android List列表拼音排序

    在listview中,实现中文拼音排序的效果

    java list排序

    java开发,使用list对其进行排序,,易学简单。。。。。。。。。

    ListCtrl控件排序类及演示程序

    用于实现ListCtrl的排序类代码和演示程序,采用线程控制,内容详细

Global site tag (gtag.js) - Google Analytics