我有“Document”作为键和“DocumentSections”作为值的哈希映射。 Map <Document, DocumentSection>
。文档有许多其他成员变量(原始的和非原始的)。文档还有一个唯一的字符串值。我的问题是,如果最好通过Document中的唯一字符串值替换Document作为关键字,例如HashMap<document.getValue(), DocumentSection>
。其中值是唯一的字符串。如果我使用字符串作为键而不是更多的Document对象作为键,我的程序是否会消耗更少的内存?哈希映射的内存分配
感谢
感谢您的回答。我用那个Document的唯一字符串值覆盖了我的equlas和hashmethode。因此,即使文档是可变的,该字符串值也是不变的。所以我确定使用Document对象作为关键字不会有问题。是对的吗?还是我错了?谢谢 – duracell 2013-05-12 12:50:50
然后你可以使用任何一种方法 - 它们将是等效的。 – assylias 2013-05-12 12:58:51
如果你有重写哈希码和等于,如果协议遵循,没有什么可担心的,假设你已经完成了等于和哈希码 – abhi 2013-05-13 04:58:08