Java链表删除对象方法

标签 java linked-list

我想在迭代数字数组时删除链接列表中存在的元素

for(int num : numbers)
{
   if(l.contains(num))
   {
      l.remove(num);
   }
}

但是,它试图删除索引 num 处的元素,而不是在链表中查找 num 。

javadoc有这个方法

remove(Object o)
Removes the first occurrence of the specified element from this list, if it is present.

如何使用它?

最佳答案

你可以这样做

for(Integer num : numbers)
    l.remove(num); // remove if present

这避免了与 List.remove(int index) 如果您向其传递 int 则调用和 List.remove(Object) 如果您向其传递像 Integer 这样的对象调用的混淆 em> 并避免在元素存在时扫描列表两次。

关于Java链表删除对象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20616312/

相关文章:

java - 无法可视化在链表末尾插入节点

java - 复制链表节点并将其插入到链表中间

java - 如何使用 Volley 进行并发 GET 调用?

java - 生成的源中的 Netbeans 注释

java.net.ConnectException : Connection refused when SocketChannel. open 被调用

Java 异常循环和弃用(或者是 URLEncoding 的东西?)

java - GUI 不适用于自定义 AbstractTableModel。错误 "Unknown Source"

java - Canvas 中的 Thread.sleep

c++ - 俄罗斯方 block :类的布局

c++ - 插入的链表问题