java hashmapinteger,java – 提高内存使用率:IntegerHashMap

文章探讨了在Java中使用HashMap时,如何通过创建特定的IntegerHashMap来节省内存,特别是当处理大量Integer对象时。作者建议使用原始类型集合,如Trove库,以提高内存效率和性能。这种优化可以减少百万级条目映射中每个Integer对象的内存消耗。

我们使用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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值