【问题标题】:Sort ArrayList<Object> by date that contains two different Object Classes [duplicate]按包含两个不同对象类的日期对 ArrayList<Object> 进行排序 [重复]
【发布时间】:2016-01-28 19:31:58
【问题描述】:

我有两个要添加到 ArrayList 项目的模型类,并且两个模型类都有一个 getDate(),我想按日期对列表进行排序。我已经有一段时间了,但似乎无法得到它。

    ArrayList<Object> items = new ArrayList<>();
    ArrayList<LiftDate> liftDates = LiftDateHandler.get(getActivity()).getDate();
    ArrayList<OneRepMax> oneRepMaxes = OneRepMaxHandler.get(getActivity()).getORM();
    items.addAll(liftDates);
    items.addAll(oneRepMaxes);

LiftDate.class 和 OneRepMax.class 都包含:

public Date getDate() {
    return mDate;
}

如何根据两个 Objects getDate() 对 ArrayList 项进行排序?

【问题讨论】:

    标签: java android


    【解决方案1】:

    步骤#1:定义一个共同的interfaceLiftDateOneRepMax 都实现了。这个接口应该包括getDate()。我将在此答案中使用Snicklefritz 作为此接口的名称;你应该为你的应用选择更有意义的东西。

    第 2 步:让 items 成为 ArrayList&lt;Snicklefritz&gt;

    第 3 步:实现一个 Comparator&lt;Snicklefritz&gt;,使用 getDate() 执行日期比较。

    步骤#4:Use Collections.sort() 使用您的ComparatorArrayList 进行排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-25
      • 1970-01-01
      • 2019-11-15
      • 2015-02-25
      • 1970-01-01
      • 2015-07-02
      • 2020-02-06
      • 2011-08-12
      相关资源
      最近更新 更多