Java用什么数据结构放大量的2维表数据比较好?

情天 发布于 2013/12/27 10:47
阅读 2K+
收藏 3

我需要一个50万*70万数量级的2维表来存放数据,将来行和列的数量还会继续增长,行和列的名称都是唯一的,要求能快速通过行列来查询和更新数据,Java中怎么实现比较好?

给点靠谱的建议,谢谢!

加载中
0
蔡小峰
蔡小峰
ArrayList<Bean>
0
文心雕码
文心雕码

我觉得你还要考虑查询和更新的算法啊

不同的数据结构处理的Big O差很多哦

0
文心雕码
文心雕码
HashMap<String,ArrayList<String>> 可以吗?
0
canghailan
canghailan

2个HashMap<String, Integer> 分别做行列索引。

ArrayList<ArrayList<Object>> 做二维表存储数据,如果行列数比较稳定用Object[][]自己维护也行。

或者自己写专用的数据结构。

0
loyal
loyal
List<Map>
0
文心雕码
文心雕码
我觉得还应该考虑一下hash算法
0
Jeky
Jeky

就算每个单元的数据占用1字节,总共也有350G了,只能靠外存。

数据库是最靠谱的方案

Jeky
Jeky
回复 @情天 : 不清楚你的具体场景,如果没有良好的压缩方案,就只能这么办了,不过比内存读取慢很多就是了
情天
情天
数据量确实有些大,我想过用键值对数据库的方式,把行列组合起来作为Key,直接查Value,更新的时候也是通过组合的Key来找Value
0
Grrrr
Grrrr
每个格子里面都有数据吗?
0
戴威
戴威
#Memcache#
返回顶部
顶部