构造一个存放50万左右数据的hashmap,请问该设置多大的size?

解决方案 »

  1.   

    java中的内存泄露往往跟HashMap有关,lz放那么多的数据,有点不太理智
      

  2.   

    构造一个HashMap,直接往里面put数据。不需要你管它的size多大。
      

  3.   

    要看你怎么放了,内存泄漏和hashmap没有关系,和编程有关系
      

  4.   

    HashMap 的内部存储结构比较复杂,占用的内存也很多。存放50万条数据,那还要看每条数据有多少,如果是 50 万个 Integer 那肯定是没有问题的,
    如果是很多的字符串,你只能增大 JVM 的内存了。
      

  5.   

    ls几位的看看下面的文章:
    http://www.ibm.com/developerworks/cn/java/j-jtp11225/
      

  6.   

    如果Hash冲突不多的话 建议初始容量设置为60W左右,加载因子设置为0.5如果Hash冲突过多 初始容量设置为85W左右,加载因子设置为0.75ps:50W数据量真的不是很大
      

  7.   

    根据hash的规则,你要设计好你的hashCode方法。至于速度,每个都是单独的hashCode 速度最快,但最耗内存。
    如果你的内存大,且这个数据对系统非常关键,建议你把这50万的数据划分到至少1000个单元去,每个单元500个数据
      

  8.   

    放一些简单的字符串键值对应该没有问题,我看LZ应该是想将数据存放在内存中提高处理速度.
    如果你不是用你自己的PC而是服务器可以的啦.