Java 对数方式过滤稀疏值。。?

Java 对数方式过滤稀疏值。。?,java,logic,Java,Logic,我有一个展示矩阵的情况。矩阵包含大于或等于0的值。为了方便用户,我添加了一个条滑块,它的最小值是0,最大值是矩阵中的最大值。所以当用户在滑块上滑动时,我只是过滤矩阵单元格,只显示那些值大于用户滑动的滑块值的单元格 我的问题是,在矩阵表中,值非常稀疏,比如在1-5的范围内有很多值,然后20-25也可以是其他范围。因此,当我滑动时,表格会减少很多 我现在想要的是,在移动滑块时,只有少数值被过滤。我在想,如果有任何解决这个问题的对数方法……或者是其他的方式…< /p> < p>如果你的矩阵是m×x n

我有一个展示矩阵的情况。矩阵包含大于或等于0的值。为了方便用户,我添加了一个条滑块,它的最小值是0,最大值是矩阵中的最大值。所以当用户在滑块上滑动时,我只是过滤矩阵单元格,只显示那些值大于用户滑动的滑块值的单元格

我的问题是,在矩阵表中,值非常稀疏,比如在1-5的范围内有很多值,然后20-25也可以是其他范围。因此,当我滑动时,表格会减少很多

我现在想要的是,在移动滑块时,只有少数值被过滤。我在想,如果有任何解决这个问题的对数方法……或者是其他的方式…< /p> < p>如果你的矩阵是m×x n,考虑把数据存储在一个数组中,比如数据[L](2),其中L=M x n,数据[i] [0 ]是实际值,而数据[i] [1 ]是原来m×n矩阵中的值的位置。 如果对数据[i][0]进行排序,您可以更快地对其进行处理,以找到值低于给定阈值的位置

例如:

母体

1 2 3
0 7 1
5 1 9
数组值、位置

0 1 1 1 2 3 5 7 9
4 1 6 8 2 3 7 5 9
值小于3的单元格:4 1 6 8 2