我有两个Model类,我要添加到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;
}
如何根据两个对象getDate()对ArrayList项进行排序?
答案 0 :(得分:2)
第1步:定义interface
和LiftDate
都实现的公共OneRepMax
。此界面应包含getDate()
。我将在此答案中使用Snicklefritz
作为此接口的名称;你应该为你的应用选择更有意义的东西。
第2步:让items
成为ArrayList<Snicklefritz>
。
步骤3:使用Comparator<Snicklefritz>
实施执行日期比较的getDate()
。
第4步:Use Collections.sort()
使用ArrayList
对Comparator
进行排序。