关于hashmap占内存大小

xiaozhubisheng 2013-05-15 11:27:35
在网上看大数据的面试题时基本上都是利用hashmap存储的,但是hashmap每次存储一个键值对时占多大内存呢?
...全文
612 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
BadPattern 2013-05-16
  • 打赏
  • 举报
回复
集合 性能 默认容量 空时的大小 10K条目的开销(没有考虑键和值的大小) 准确设置大小? 扩展算法 HashSet O(1) 16 144 360K 否 x2 HashMap O(1) 16 128 360K 否 x2 Hashtable O(1) 11 104 360K 否 x2+1 LinkedList O(n) 1 48 240K 是 +1 ArrayList O(n) 10 88 40K 否 x1.5 StringBufferO(1) 16 72 24 否 x2
LCore 2013-05-15
  • 打赏
  • 举报
回复
占多大内存,这不是取决于你存的东西吗?
 static class Entry<K,V> implements Map.Entry<K,V> {
        final K key;
        V value;
        Entry<K,V> next;
.....
}
oh_Maxy 2013-05-15
  • 打赏
  • 举报
回复
默认情况下的初始化会new Entry[16]这样一个数组。但是这16个都是空的,只有当我们put操作的时候才会分配空间。 String也是通过char value[]保存的,大小也是不确定的。 感觉知道这些关系就好,真要细算占用内存大小,还真瞎了,呵呵~
xiaozhubisheng 2013-05-15
  • 打赏
  • 举报
回复
引用 1 楼 kiritor 的回复:
占多大内存,这不是取决于你存的东西吗?
 static class Entry<K,V> implements Map.Entry<K,V> {
        final K key;
        V value;
        Entry<K,V> next;
.....
}
比如键值都是string类型的时?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧