Java:获取符合条件的数组的子集

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] > 40000Test[i][1] + Test[i][2] < 350000

我显然可以遍历列表.但是当阵列数量巨大时,这将非常缓慢.

我如何以矢量化的方式做到这一点.

如果这会导致任何限制,我也使用JavaME.但JavaSE解决方案也是很有见地,并且希望在JavaME中工作.

and*_*wmu 5

除非您存储有关数据的更多信息,否则没有迭代就无法做到.

我建议除了存储完整的数据之外,对于每个新记录,你都要用你的条件进行测试,如果是的话,将项目引用保存在另一个数组中(好吧,Vector除非存储真的很紧,否则两者都更好) .

然后,当您想要所有符合条件的项目时,只需查找第二个"数组"中的所有引用.这大致是一些数据库查询的优化方式.查找成本降低,但代价是插入和存储成本较高.