我们使用HashMap< Integer,SomeType>(),其中包含超过一百万个条目.我认为这很大.
但是整数是他们自己的哈希码.我们不能用一个使用特殊Map.Entry的IntegerHashMap< Integer,SomeType>()来保存内存,直接使用int而不是指向Integer对象的指针?在我们的例子中,这将节省1000000x Integer对象所需的内存.
我思路上的任何错误?对于普遍感兴趣太特别了? (至少有一个EnumHashMap)
ADD1. IntegerHashMap的第一个泛型参数用于使其与其他Map实现非常相似.当然可以放弃它.
ADD2.其他地图和集合也应该如此.例如ToIntegerHashMap< KeyType,Integer>,IntegerHashSet< Integer>等.
解决方法:
您正在寻找的是“原始收藏”库.它们通常在内存使用和性能方面要好得多.最古老/最受欢迎的图书馆之一被称为“Trove”.但是,它现在有点过时了.现在使用的主要活动库是:
标签:java,dictionary
来源: https://codeday.me/bug/20190627/1307841.html