2つの副問題があります。Javaのクラスメンバーの値に基づいて巨大な配列リスト(ArrayList <Class>)をソート
1-比較巨大な2つのArrayList(1)を達成するために、そのオブジェクトの値に基づいのArrayListの要素をソート
-2-。
私はクラスのオブジェクトのArrayListを持っています。すなわち
Class X
{
double x;
double y;
int sortVal;
}
ArrayList<X> alX = new ArrayList<X>(); //size = 10,000
ArrayList<Integer> myValue = new ArrayList<Integer>(); //size = 15
myValueがsortValに存在するかどうかをチェックしたいと思います。
arraylist 'alX'のサイズが大きいため、計算時間がかかります。
クラスXのsortValの値に基づいてArrayList alXのelemetsをソートする方が良い方法だと思っていました。ソートすることで、sortValがmyValueより大きくなるとループから壊れることがあります。
1) 'sortVal'という値に基づいてarraylistの要素をソートするにはどうすればよいですか?
2)arraylistをソートするよりも、2つの値を比較する方が良い方法がありますか?すなわち(myValues.get(I)== alX.ob.sortVal)
[編集]の値は、あなたの最初の質問については
ArrayList<X>:
x : 1,1,1,2,3,5,4,5
y : 2,4,6,4,4,6,2,1
sortVal: 10,20,30,10,10,20,30
ArrayList<Integer>:
myValue: 10,20,30
sortValの値は一意ではありません。複雑さがO(n)ならば、arraylistsを一度だけトラバースするだけでどのように値を加算するのですか? 2人のarraylistsの値をマップに追加する方法についてもっと説明できますか? 値があるとします。 ArrayList: x:1,1,1,2,3,5,4,5; y:2,4,6,4,4,6,2,1; ; sortVal:10,20,30,10,10,20,30。 ArrayList : myValue:10,20,30; –
SyncMaster
@SyncMaster私の編集を参照してください。 ;) –