【发布时间】:2012-03-28 12:23:35
【问题描述】:
我有一个类似的哈希表,
HashTable ht = { (1, 1), (2, 1), (3, 1) }
现在,我像 Integer foo = Integer(1) 一样实现它并像声明哈希表一样,
HashTable ht = { (foo, foo), (2, foo), (3, foo) }
现在,据我从this 了解到,它将减少 JVM 使用的堆空间。这是正确的吗? 还有一点是,在 C 中,我通常使用类似的结构,
HashTable ht = { (1, mem), (2, mem), (3, mem) }
{ where mem is memory location (say 10) of 1 }
然后使用位置来访问值。现在,如果 mem 值小于 Int(比如 Byte),我可以节省空间。但是,我不明白如何在 Java 中实现这一点。 或者有没有其他方法可以减少哈希表的空间? (意味着减少以 Java 的方式重复存储相同的对象)。
【问题讨论】:
-
如果您担心空间问题,为什么要使用哈希表而不是树?
-
@erickson,因为性能。
-
请提供minimal reproducible example 来说明您的问题。
标签: java c oop hashmap hashtable