- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在迭代一个Hashtable
,并且在某一时刻,我向Hashtable
添加了一些东西,这显然给了我一个ConcurrentModificationException
。我明白为什么会收到错误,但是有没有办法解决这个问题,以便我仍然可以迭代 Hashtable
并同时添加值?
最佳答案
来自文档
The iterators returned by the iterator method of the collections returned by all of this class's "collection view methods" are fail-fast: if the Hashtable is structurally modified at any time after the iterator is created, in any way except through the iterator's own remove method, the iterator will throw a ConcurrentModificationException. Thus, in the face of concurrent modification, the iterator fails quickly and cleanly, rather than risking arbitrary, non-deterministic behavior at an undetermined time in the future. The Enumerations returned by Hashtable's keys and elements methods are not fail-fast.
Note that the fail-fast behavior of an iterator cannot be guaranteed as it is, generally speaking, impossible to make any hard guarantees in the presence of unsynchronized concurrent modification. Fail-fast iterators throw ConcurrentModificationException on a best-effort basis. Therefore, it would be wrong to write a program that depended on this exception for its correctness: the fail-fast behavior of iterators should be used only to detect bugs.
如果您需要这种行为,您可以安全地复制键集并迭代该副本。如果哈希表很大并且复制键集可能很昂贵,则另一种选择是在迭代期间添加到单独的集合,并在迭代后添加单独集合的元素。
关于Java并发修改异常: Is it possible to add elements to a hashtable while iterating through it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5334179/
我有一个响应移动的应用程序。 监听器似乎在一个 Action 中被调用多次,即如果我将应用程序从监视器的一部分拖到另一部分。 发生这种情况时,我将一些数据存储到哈希表中。每次存储数据时,我都需要存储到
我想对 SAS 哈希表中存储桶的定义进行一些说明。问题正是关于 hashexp 参数。 根据 SAS DOC,hashexp 是: hash对象的内表大小,其中hash表的大小为2n。 HASHEXP
我有许多以整数为键的哈希表,我希望能够在我的 Freemarker 模板中迭代它们,但是,似乎没有任何效果。 我尝试了 Freemarker iterating over hashmap keys 中
C# 中的你好我有两个哈希表对象,其键/值对相同我想检查两个哈希表键/值对是否相等.. 我尝试了 hashtable 的 equal 方法但没有成功 我应该用 foreach 检查所有项目吗? 谢谢
我不太熟悉 HashTable 和使用 HashTable 动态制作 RadioButtons。我可以使用 HashTable 制作 RadioButtons,但无法获取 RadioButtons i
我想知道是否可以这样: Hashtable myhash =new Hashtable(); 其中 String 是一个单词,整数[]是一个包含两个位置的数组,第一个位置是行号,第二个位置是该单词出现
我很好奇为什么会发生错误: scala> import collection.JavaConverters._ import collection.JavaConverters._ scala> va
我在 Hashtable> 中编码了一些对象属性,其中: Integer是主要的关键Hashtable (代表对象编号) 每个 Hashtable分别代表属性name (String)和属性(prop
我说 .Net Hashtable 不同步而 Java Hashtable 同步对吗?并且同时一个Java HashMap 不同步并且有更好的性能? 我正在重写一个在 C# 中大量使用 HashMap
我有一个来自 .Net 的对象,它有一个 SyncHashTable 类型的属性,在没有抛出异常的情况下无法查看。 在线复现: [HashTable]::Synchronized(@{}) 多线更容易
如何获取给定外部哈希表键的内部HashTable的整数值 HashMap map; Hashtable> h = new Has
有谁知道如何在不使用基于 .NET 的 XMLSerializer 的情况下将哈希表转换为 XML 字符串然后再转换回哈希表。当代码在 IE 内部运行并且浏览器的保护模式打开时,XMLSerializ
我在理解这两者之间的区别时遇到了一些困难..这两者都是指向指针的指针吗?另外,它们分别适合在什么情况下使用? 最佳答案 struct node *hash1[MAXSIZE]; struct node
这个问题已经有答案了: Why does java.util.Properties implement Map and not Map (5 个回答) 已关闭 5 年前。 正如标题所述:我想找到为什么
首先,大家好。我已经中途了Python Programming for Finance - Creating targets for machine learning labels ,我有一个 csv
这是我的路线构建器。在这里,我尝试将文件中的数据插入主题。稍后,我将传递我的主要方法并使用 Camel 上下文运行它。我尝试了几个代码,但没有一个对我有帮助。我正在研究 Apache kafka -
当负载因子接近 1 以确保最小的内存浪费时,哪种 hashmap 冲突处理方案更好? 我个人认为答案是使用线性探测进行开放寻址,因为在发生冲突时它不需要任何额外的存储空间。它是否正确? 最佳答案 回答
它们是什么以及它们如何工作? 它们在哪里使用? 我什么时候应该(不)使用它们? 我一遍又一遍地听到这个词,但我不知道它的确切含义。 我听说他们允许关联数组,方法是通过散列函数发送数组键,该函数将其转换
当我们在哈希表中插入/查找键时,教科书说是O(1)时间。但是,怎么可能有O(1)查找时间呢?如果哈希表将 key 存储在向量中,则将花费O(N);如果在二叉树中,则将花费O(logN)。我只是无法使用
这不是针对特定解决方案的特定问题;但这是对以下事实的回应:我找不到有关如何为哈希表和类似任务选择良好的哈希函数的良好堆栈溢出问题。 所以!让我们谈谈散列函数,以及如何选择一种。需要为自己的特定任务选择
我是一名优秀的程序员,十分优秀!