当前位置: 首页 > 知识库问答 >
问题:

编辑arraylist中的项是否算作修改列表?

邵正雅
2023-03-14

在ArrayList中,如果我添加/删除项,那么这被认为是“修改”列表。因此,如果我在尝试添加/删除项的同时尝试对列表进行迭代,则会得到ConcurrentModificationException(除非我使用了listIterator)。

我的问题是,如果我做了一个像:list.get(index).setValue(“newValue”)这样的操作,是否仍被认为是修改列表?

共有1个答案

李疏珂
2023-03-14

否。编辑列表中的项目不是“修改列表”:修改的是项目,而不是列表。列表将不知道项目的任何更改。

只有对列表所持有的项引用的更改才是对列表的修改,即对列表的插入和选择。

 类似资料:
  • 问题内容: 我正在尝试使用for循环修改列表中的项目,但出现错误(请参见下文)。样例代码: 错误: 有什么办法解决这个问题? 问题答案: 尝试以下方法: 您遇到的基本问题是,当你写的,有是一个列表,则需要是一个整数,数字索引列表。但是在循环中 是列表中的实际事物,即字符串,而不是事物的数字索引。是一个迭代器,它生成数字而不是列表中的值,因此您可以使用它。 一个替代方案是 该函数为您提供了一个在表单

  • 问题内容: TensorFlow图通常从输入到输出逐渐构建,然后执行。查看Python代码,操作的输入列表是不可变的,这表明不应修改输入。这是否意味着无法更新/修改现有图形? 问题答案: TensorFlow类是 仅追加的 数据结构,这意味着您可以在执行图的一部分后将节点添加到图,但不能删除或修改现有节点。由于TensorFlow在您调用时仅执行必要的子图,因此图中没有冗余节点(尽管它们将继续消耗

  • 上下文 我正在创建一个股票价格数据数据库。我目前正在使用下面的函数: 这允许在编辑单元格时对某些列执行编辑。到目前为止,它是有效的,但有一些扭结。 问题1 有时,当我编辑列的第四行上方的单元格时,它会编辑整个列,尽管我告诉它从第四行开始。这发生在几分钟前的一个单元格中,我告诉它排除上面的“I2”。我为此编写的代码有什么问题吗? 问题2我尝试为代码创建其他异常,其中对于某些指定的范围,它将仅从不同的

  • 问题内容: 我正在用Java创建一个多线程聊天。当用户u1向用户u2发送消息但未连接用户u2时,用户u1将消息发送至服务器,而用户u2一旦连接至服务器,便会收到该消息。未发送的消息将添加到ArrayList中。连接用户后,他会检查自己是否是未决邮件的收件人。如果是,则将邮件发送给他,然后将其从待处理邮件列表中删除。这是我的方法: 这就是我得到的: 我如何解决它?是因为我正在使用迭代器吗? 问题答案

  • 我正在处理一些代码,在测试过程中,它开始抛出一个ConcurrentModificationException。经过一番研究,让我困惑的是,我在迭代时并没有从列表中添加或删除。我确实会对列表进行迭代,但这是在我添加到列表之后。为了更清楚,下面是代码的注释版本: 我不确定这段代码怎么可能抛出ConcurrentModificationException,除非addAll()在不同的线程中运行(然后在

  • 我有一个通过数组工作的代码,实际上我希望传入ArrayList。 下面是示例: 这是我现在的改编... 我不明白我的错误??我不知道正确的语法... 有关信息,这里的代码 大体上 非常感谢你的帮助。