如果我有以下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
...
或者,如果还有其他方法可以实现这一目标。
提前致谢
答案 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<>()
,其日期映射到摘要文本。然后迭代将按日期排序的映射条目,并适当地格式化输出。