我有一个hashmap
key是从key1到key200000,
而每一个key对应的value一个是1到10000的中随机的30个数字,不重复,
比如这样:key1:数组[1,2,3,....30]
key2:数组[2,4,5,6,9,100,33 共30个数字]前提是我现在要查询是通过key来找那个数组现在的vaule应该是重复存储,有没有办法不怎么降低查询速度的情况下降低存储需要的空间,请各位支招,谢谢!
key是从key1到key200000,
而每一个key对应的value一个是1到10000的中随机的30个数字,不重复,
比如这样:key1:数组[1,2,3,....30]
key2:数组[2,4,5,6,9,100,33 共30个数字]前提是我现在要查询是通过key来找那个数组现在的vaule应该是重复存储,有没有办法不怎么降低查询速度的情况下降低存储需要的空间,请各位支招,谢谢!
解决方案 »
- JFileChooser.showSaveDialog()设置默认文件名
- 跪求《Java学习手册》DVD光盘里的视频
- Java 中能不能有静态的构造函数?
- 请问如此调用过程有用吗?
- 100分求一JSP系统问题
- 100高分请进:regex = "\\s[Hh][Rr][Ee][Ff]\\s*=\\s*\"([^\\.#(http)]+[^\">]*)\"";...
- float fl = 999.666; 不能这么赋值吗?请问错到哪里了?
- 初学,遇一问题不解???请帮帮忙
- 我想学java,不知道如何下手
- 求助一下现场观众:如何临时保存所绘制的图像,然后再需要时提取出来。
- for 循环集合,集合没用泛型为什么报错
- js中获取jsp数据
key值,从1~20W,如果每个key是从1连续排列到20W ,那么,可以不使用hashmap而直接使用数组;
映射关系由键值对变成下角标。
其实value数组的值现在 最大是 20万 ,最小是几万,不连续 以后会递增 key值,从1~20W, 这个不连续 现在是20万个
建议使用key-value型的内存数据库,如berkeley db,或者SQLite之类的嵌入式数据库。
如果对性能要求不高,也可以考虑利用memory-mapping file自己构建一个工具。最好是使用key-value型的内存数据库,我自己就是这么处理的。