欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现数据按照时间排序

程序员文章站 2022-06-29 09:22:27
经常遇见一个列表,两个接口的情况,两个接口属于两个不同的表数据,那么数据拼接回来之后,并不是按照时间排序的,看起来就相当混乱,所以记录一下如何对数据按照时间排序。 步骤一...

经常遇见一个列表,两个接口的情况,两个接口属于两个不同的表数据,那么数据拼接回来之后,并不是按照时间排序的,看起来就相当混乱,所以记录一下如何对数据按照时间排序。

步骤一:

格式化日期

public static date stringtodate(string datestring) {
    parseposition position = new parseposition(0);
    simpledateformat simpledateformat = new simpledateformat("yyyy-mm-dd hh:mm:ss");
    date datevalue = simpledateformat.parse(datestring, position);
    return datevalue;
  }

步骤二:

对拼接的列表进行排序

private void sortdata(arraylist<coursemodel> mlist) {
    collections.sort(mlist, new comparator<coursemodel>() {
      /**
       *
       * @param lhs
       * @param rhs
       * @return an integer < 0 if lhs is less than rhs, 0 if they are
       *     equal, and > 0 if lhs is greater than rhs,比较数据大小时,这里比的是时间
       */
      @override
      public int compare(coursemodel lhs, coursemodel rhs) {
        date date1 = dateutil.stringtodate(lhs.getcreate_time());
        date date2 = dateutil.stringtodate(rhs.getcreate_time());
        // 对日期字段进行升序,如果欲降序可采用after方法
        if (date1.before(date2)) {
          return 1;
        }
        return -1;
      }
    });
    adapter.replaceall(mlist);
  }

直接调用这个方法,数据类型改造一下即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。