約1,000万行と数列の大きなデータテーブルを保存する必要があります。私がする必要があることは次のように要約することができます:
1.列の値に基づいて、いくつかの行を選択する必要があります。
例:
行500:| 10 | 3 | 4 | 5 | 100 | 314 | 45 |
行501:| 13 | 5 | 7 | 4 | 160 | 210 | 40 |
行501:| 24 | 3 | 8 | 6 | 260 | 810 | 50 |
行602:| 34 | 7 | 9 | 6 | 350 | 760 | 10 |
ここで、最初の列の値は行IDと見なすことができます。ここで、IDは10、13、24、34です。
4番目の列の値が5より大きい行を検索しているとします。したがって、フィルタリング後の出力は次のようになります。
行500:| 10 | 3 | 4 | 5 | 100 | 314 | 45 |
行501:| 24 | 3 | 8 | 6 | 260 | 810 | 50 |
行602:| 34 | 7 | 9 | 6 | 350 | 760 | 10 |
2. 2番目のステップでは、列ごとにそれらを比較する必要があります。行500の2番目と3番目の列にそれぞれ値3と4があり、(3-4)も範囲(3-8)にあるとします。しかし、この範囲は(7-9)と一致しません
したがって、行500と行501の間には関係があります。出力は次のようになります。
10 24
24 34
3.値10が与えられたとします。次に、最初の列に10がある行を見つけ、7番目の列の値を5減らす必要があります。したがって、行は次のようになります。
行500:| 10 | 3 | 4 | 5 | 100 | 314 | 40 |
私はこれまで、matlabライブラリ関数を使用したこれらの操作にMatlabを非常に簡単に使用していました。ただし、コード全体をJavaで変換する必要があります。これを行う1つの方法は、大きな配列を使用し、forループを使用してすべての行にアクセスすることです。そのような大きなアレイには効率的でしょうか?この点で私を助けてください。