我们使用了一个超过一百万条目的HashMap<Integer, SomeType>()。 我认为这很大。
但是整数本身就是它们自己的哈希码。我们不能使用特殊的Map.Entry,直接使用int而不是指向Integer对象的指针,从而节省内存吗?在我们的情况下,这将节省1000000倍需要一个Integer对象的内存。
我的思路有什么问题吗?太特殊以至于没有普遍的兴趣?(至少,有一个EnumHashMap)
add1. IntegerHashMap的第一个泛型参数用于使其与其他Map实现尽可能相似。当然,它可以被删除。
add2. 对于其他映射和集合,也应该是可能的。例如ToIntegerHashMap<KeyType,Integer>,IntegerHashSet<Integer>等。
但是整数本身就是它们自己的哈希码。我们不能使用特殊的Map.Entry,直接使用int而不是指向Integer对象的指针,从而节省内存吗?在我们的情况下,这将节省1000000倍需要一个Integer对象的内存。
我的思路有什么问题吗?太特殊以至于没有普遍的兴趣?(至少,有一个EnumHashMap)
add1. IntegerHashMap的第一个泛型参数用于使其与其他Map实现尽可能相似。当然,它可以被删除。
add2. 对于其他映射和集合,也应该是可能的。例如ToIntegerHashMap<KeyType,Integer>,IntegerHashSet<Integer>等。