Java - 使用迭代器从链接列表中删除元素

时间:2014-04-20 12:13:49

标签: java linked-list iterator listiterator

我有一个程序可以读入添加到链表的条目,以及删除条目的方法。目前,该方法似乎遍历列表,并且一旦找到所选条目,就删除它以及它之前的所有条目,而不是仅删除单个条目。去掉休息;使该方法只删除列表中的所有条目。

LinkedList<Entry> entryList = new LinkedList<Entry>();
ListIterator<Entry> entryIterator = entryList.listIterator();

public void deleteEntry(int number) {
    while(entryIterator.hasNext()) {
        Entry entry = entryIterator.next();
        if((entry.getNumber() == number)) {
                entryIterator.remove();
                //break;
        }
    }
}

我有一种感觉,问题出在其他地方,但无法弄清楚 - 我对java很新。谢谢!

1 个答案:

答案 0 :(得分:0)

看起来像

entry.getNumber() == number

始终为TRUE,因此问题不在此代码中,而在其他地方。

可能将条目编号定义为静态或列表中的所有元素都是同一个对象。