【发布时间】:2011-11-25 12:04:17
【问题描述】:
这个我有点麻烦:
我需要重写 hashCode() 和 equals(),导致一些对象“相等”。这是预期的行为,但我在收藏方面存在附带问题(已预料到......):
我使用 ArrayList,并且在预定义索引处插入重复对象不受 insert 方法的支持。相反,它被插入到第一个重复的现有元素的 PREVIOUS 位置。
Let's say i have
A
B
C
我在索引 >0 处插入 A 的副本...
it will be inserted at index 0.
->A
A
B
C
这是正常行为吗?
谢谢。
编辑:对象被插入到正确的位置。 我正在使用的 TableViewer (org.eclipse.jface.viewers.TableViewer) 让我感到困惑,因为它默认编辑为第一个重复的元素(这是有道理的......)。
【问题讨论】:
-
您确定您没有将新插入的对象与其先前插入的副本混淆吗?您如何区分两者。
-
我刚试过,它确实可以正常工作。其他一切都将是一场真正的灾难 :-) 也许您可以发布代码?
-
是的。你说得对。刚刚做了一个完整的调试。对象被插入到正确的位置。我正在使用的 TableViewer(org.eclipse.jface.viewers.TableViewer)让我感到困惑,因为它默认编辑为第一个重复的元素(这很有意义......)。谢谢。
标签: java list collections hash