【发布时间】:2016-10-11 20:59:45
【问题描述】:
在 Java 中使用具有 3 列两种数据类型的多维数组 - Column1 可以是任何原始数据类型,Column2 和 Column3 是相同大小的整数。我们有数千个具有许多查找和比较操作的数组,因此我们想看看是否有更快/更小的替代对象类型的数组。我们需要维护排序顺序并希望避免散列。所有操作都使用所有 3 列。
总结需求:
1. 最大化迭代数据结构的速度
2.最小化数据结构的大小
3.维护数组内容的排序顺序
4.避免散列(没有LinkedHashMap)
到目前为止我们已经考虑过的结构:
1. 对象数组(当前实现)
2. 制作 2 个数组(每种数据类型一个),并在操作期间通过数组索引查找加入它们
有人对数据结构有任何其他(更好的)建议吗?谢谢:)
【问题讨论】:
-
@ɐuıɥɔɐɯ 感谢您的建议。但是,我们需要维护排序顺序(数组以这种方式相互连接),因此普通散列不是一种选择。我们尝试了 LinkedHashMap,但这比对象数组慢得多。想要其他替代品
-
为什么java在这里如此重要?我会使用成熟的关系数据库,比如 postgres。
-
@TamasRev 我们实际上是在为关系数据库创建后端存储,这是用于 DBMS 研究
-
@WillGetItDunn 哦,我明白了。那我和这个问题不在同一个联盟:)
-
@TamasRev 这是一个很好的建议!
标签: java arrays multidimensional-array data-structures