Doo*_*ght 1 java arrays vectorization java-me
我有一个数组数组.
float[][] Test
例如
{ {433801.000f,335601.000f,5},
{433821.000f,335631.000f,5},
{433811.000f,335671.000f,5} };
Run Code Online (Sandbox Code Playgroud)
如何获取此数组(或数组数组)的子集,其中值满足条件.
例如,在哪里Test[i][0] > 40000和Test[i][1] + Test[i][2] < 350000
我显然可以遍历列表.但是当阵列数量巨大时,这将非常缓慢.
我如何以矢量化的方式做到这一点.
如果这会导致任何限制,我也使用JavaME.但JavaSE解决方案也是很有见地,并且希望在JavaME中工作.
除非您存储有关数据的更多信息,否则没有迭代就无法做到.
我建议除了存储完整的数据之外,对于每个新记录,你都要用你的条件进行测试,如果是的话,将项目引用保存在另一个数组中(好吧,Vector除非存储真的很紧,否则两者都更好) .
然后,当您想要所有符合条件的项目时,只需查找第二个"数组"中的所有引用.这大致是一些数据库查询的优化方式.查找成本降低,但代价是插入和存储成本较高.