我有一个数组java.util.BitSet
我想保留在我的数据库中,但我不知道最好的方法是什么。
准确地说我得到了x*y true or false
我想要存储的每个条目的值。我想java.util.BitSet
是一个很好的尝试,但我真的不知道如何将它存储在数据库中。
我正在使用带有 hibernate 的 MySQL 数据库(带注释)。
这就是我初始化地图的方式:
Bitset[] map = new BitSet[x];
for (int i = 0; i < x; i++) {
map[i] = new BitSet(y);
}
Update:
这个数据集中没有关系,问题是我有大量的“二维数组”,其中一个的大小约为 360*180。
我也尝试用它制作图像,单色 pbm 文件很容易制作。但数据仍然不在数据库中,每次处理保存的“图像”文件我认为都太过分了,而且有点慢。
您的数据库中可以有整数列(或任何等效的列)。
如果你有 2 列并假设每列都是 32 位,你可以输入
row 1 col 1 32 位,然后 row 1 col 2 接下来的 32 位,然后您转到
第 2 行第 1 列并重新开始,依此类推。
这些位之间有什么可以利用的关系吗?
或者这只是一个大垃圾场?
注意:我使用这种技术来打包/压缩数据,因此它可能不完全是您所需要的。
EDIT:
我正在考虑存储原始斑点并跟踪modified通过将位存储在单独的实体中(新表或多列)
你有原始的斑点,然后是一个映射BitIndex:BitNewValue
.
现在更合适的框架是地图缩小 http://en.wikipedia.org/wiki/MapReduce。
但我可以看到,如果更改了很多位,那么管理这样的事情会变得非常令人头痛。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)