【发布时间】:2014-08-05 19:38:11
【问题描述】:
我正在使用LinkedList,我想获取上一个(和下一个)元素,但不知道如何处理。
我的链表:
LinkedList<Transaction> transactions = transactionRepository.findAll();
我正在搜索此交易:
Transaction targetTransaction = new Transaction("admin", new Date(), 5);
我想做什么:
for (Transaction transaction : transactions) {
if (transaction.equals(targetTransaction)) {
System.out.println("Previous transaction: " + transaction.getPrev());
}
}
transaction.getPrev() 部分不起作用,因为我的 Transaction 对象没有这样的方法。
问题:如何正确地从LinkedList中获取“previous”对象?
【问题讨论】:
-
如果你使用双向链表,这是最简单的。
-
如果你维护你所在的索引,你可以使用它来获取上一个。
-
显式使用
ListIterator,而不是增强的for循环 -
谢谢大家,伙计们。我一直在寻找使用 LinkedList 的优雅解决方案。将其作为数组迭代是我的 B 计划。现在看来我不必这样做了。
标签: java linked-list