【发布时间】:2011-12-12 03:16:07
【问题描述】:
我有一个问题,
这是我需要做的-
我有与数字相关联的BankItems。我填写了列表,但是当输入的对象比列表中当前的最低美元价值多 100 美元时,我想删除价值较低的对象。
首先 - 我创建列表
List<BankItem> listOfBankItems = new LinkedList<BankItem>();
稍后在程序中我创建一个新的 BankItem 对象并将其添加到列表中
listOfBankItems.add(createdItem);
添加每个项目后,我想检查新项目是否比列表中已有的任何对象多 100 美元,所以我运行类似这样的操作
for (int i = 0; i < listOfBankItems.size(); i++) {
int oldValue =listOfBankItems.get(i).getAmount();
int newValue = createdItem.getAmount();
int calculatedDif = newValue - oldValue;
if (calculatedDif > 100) {
listOfBankItems.remove(i);
}
}
很遗憾,这不起作用。我不知道这是怎么回事。也许我不应该使用LinkedList?也许我的逻辑有点离谱。请帮忙。
谢谢!!!
【问题讨论】:
-
你可以使用一些排序的数据结构,比如TreeMap,或者实现Heap或者使用Priority Queue。
-
排序不是实现您想要的,但@Bhushan 是对的 - 如果您使用早期休息,这将使算法更快。
标签: java object linked-list