ラジュSidda:
私は、オブジェクトのアカウントと給与の2つのリストを持っていると私は、オブジェクトのリストを反復処理する必要があります。IDが一致した場合、私はアカウントオブジェクトを更新する必要があります。
私はLIST1持っているとlist2のこれら2つのオブジェクトが別のオブジェクトタイプです。我々はlist2のオブジェクト(パラメータ)とLIST1内のオブジェクト(パラメータ)を更新する必要があります。
例
if(accounts !=null && salaries!=null) { // checking for nulls
for (Account obj1 : accounts) {// iterating objects
for (Salary obj2 : salaries) {
String id = ibj2.getId();
if (id.equals(obj1.getId())) {// id checks
obj1.setxxxx(obj2.getxxxx());// set the value
}
}
}
}
私は試した:
list1.stream().flatMap(x -> list2 .stream() .filter(y -> x.getId().equals(y.getId())));
シャロンベンアッシャー:
最後の操作は、obj1.setxxxx(obj2.getxxxx());
両方を持つことが必要ですobj1
とobj2
。そのおもむくまま両方のリストからストリーミングされた項目を
list1.stream()
.forEach(obj1 ->
list2.stream()
.filter(obj2 -> obj1.getId().equals(obj2.getId()))
.findFirst()
.ifPresent(obj2 -> obj1.setxxxx(obj2.getxxxx()))
);