の交差点、私は2つのオブジェクトのリストを持っている:異なるオブジェクトタイプのJavaの2つのコレクション8
List<SampleClassOne> listOne;
List<SampleClassTwo> listTwo;
SampleClassOne:
public class SampleClassOne{
private String myFirstProperty;
//ommiting getters-setters
}
SampleClassTwo:
public class SampleClassTwo{
private String myOtherProperty;
//ommiting getters-setters
}
RootSampleClass:
public class RootSampleClass{
private SampleClassOne classOne;
private SampleClassTwo classTwo;
//ommiting getters-setters
}
今、私は条件に基づいて型RootSampleClassの新しいリストに二つのリストをマージしたい:
if(classOneObject.getMyFirstProperty().equals(classTwoObject.getMyOtherProperty()){
//create new RootSampleClass based on classOneObject and classTwoObject and add it to another collection
}
擬似コード:
foreach(one: collectionOne){
foreach(two: collectionTwo){
if(one.getMyFirstProperty().equals(two.getMyOtherProperty()){
collectionThree.add(new RootSampleClass(one, two));
}
}
}
私がしたい私は、Java 8に興味ここで最高のパフォーマンスを発揮するので、カスタムforeachを書かずに既存のソリューションを求めています。ネストされたループに
2つのリストをプロパティでソートした方が効率的でしょうか?あなたはそれに基づいて解決策を試み、あなたの質問にそのコードを追加するかもしれません。あなたが通常試したことを示す実際の例は、より良い答えをもたらします。 –
2つの 'SampleClassOne'に同じ' myFirstProperty'があるとどうなりますか? – Tunaki
それぞれのカスタムを望んでいないということはどういう意味ですか?あなたがやろうとしていることに対しては、あらかじめ箱に入れられた解決策はありません。 – cyroxis