【发布时间】:2015-07-12 05:57:54
【问题描述】:
我对 Java 中的数据结构有疑问。在解决 Java 中的一个典型散列问题时,我使用了 HashSet 数据结构,在出现重复对象(对象内容)之前它工作得很好。由于 HashSet 不支持重复插入,我的逻辑失败了。
我用典型的Arraylist替换了hashset,因为hashset的方法如.add()、.contains() , .remove() 两者都支持,然后我的逻辑就完美了。
但这是否一定意味着当涉及重复时,ArrayList 是 Hashset 的逻辑选择? Hashset 应该比 ArrayList 有一些时间复杂度优势,对吧?有人可以给我一些关于这方面的见解吗?
编辑:当您想要在涉及重复时进行散列时,理想的数据结构是什么。我的意思是什么时候不应该忽略重复项,应该插入。
【问题讨论】:
-
“做哈希”是什么意思?
-
将诸如字符串之类的对象添加到基于哈希的数据结构中,并稍后检查它们的存在。如果相同的字符串出现两次,则应重新插入。