循环使用不同类型的ArrayLists以获取数据排序

时间:2016-05-30 05:58:59

标签: java list sorting arraylist

如果我有以下ArrayLists:

// Orders
List<Order> orders = OrderDao.getInstance(context).getPostedOrders(merchantId);
// Payments
List<Payment> payments = PaymentDao.getInstance(context).getPayments(merchantId);
// Cheques
List<Cheque> cheques = ChequeDao.getInstance(context).getCheques(merchantId);

每个对象都有一个creationDate,如何通过createDate对所有对象进行打印和打印,以生成商家摘要:

例如:

01/6 payment1
01/6 order1
03/6 order2
05/6 payment2
09/6 cheque1
12/6 order3

...

或者,如果还有其他方法可以实现这一目标。

提前致谢

3 个答案:

答案 0 :(得分:3)

也许让Order,Payment和Cheque实现一个界面

public interface MyInterface
{
    Date getCreationDate();

    String getName();
}

然后

List<MyInterface> list = OrderDao.getInstance(context).getPostedOrders(merchantId);        

list.addAll(PaymentDao.getInstance(context).getPayments(merchantId));

list.addAll(ChequeDao.getInstance(context).getCheques(merchantId));

答案 1 :(得分:1)

让他们实现一个公共接口(getCreationDate(),getName()等)并将它们全部添加到该接口的List中。

答案 2 :(得分:1)

您可以构建一个SortedMap<Date, String> map = new TreeMap<>(),其日期映射到摘要文本。然后迭代将按日期排序的映射条目,并适当地格式化输出。