美文网首页
Android排序 基本数据 到 复杂数据

Android排序 基本数据 到 复杂数据

作者: 程序狮 | 来源:发表于2017-01-09 17:13 被阅读19次

    一、先讲复杂数据的排序

    对Map进行排序

    用到的类 Collections 和 Comparator

    步骤:

    1、创建一个集成Comparator类的子类

    <code>
    //** * 排序方法 * @param lhs : 第一个对象 * @param rhs : 第二个对象 * @return > 0 表示第一个对象比第二个对象大 反之同理 */
    @Override
    public int compare(Object lhs, Object rhs) {
    Camera.Size size1 = (Camera.Size)lhs;
    Camera.Size size2 = (Camera.Size)rhs;
    if(size1.width > size2.width)
    return -1;
    else
    return 1;
    }
    </code>

    用法总结
    如果我们按照sort()判断两个对象的顺序来实现compareTo()和compare()方法时,就是升序的结果;而如果此事我们反着来,用rhs.val-lhs.val 那么得到的值是与正确的两个值大小相反的,而sort()不知道按照自己认为的以升序确定先后,小的在前,大的在后;那么实际情况就会变为大的在前,小的在后,这样结果就成了降序排列了

    相关文章

      网友评论

          本文标题:Android排序 基本数据 到 复杂数据

          本文链接:https://www.haomeiwen.com/subject/eajhbttx.html