ゲオルク:
これは、ストリーム機能として、よりきれいに書くことができれば、私は疑問に思って:
MyObject myObject = new MyObject();
for (Thing thing : listofThings) {
myObject = myObject.combine(thing);
}
彼らは次のとおりでした:
はい、使用しStream
てreduce
:
MyObject myObject = listofThings.stream()
.reduce(new MyObject(),
MyObject::combine,
MyObject::combiner);
ここcombiner
でMyObject
別のかかる方法MyObject
のインスタンスを、現在のオブジェクトにそれを組み合わせます。
別の方法としては、まず可能にインスタンスその後、インスタンス、および単一にこれらのインスタンスを減らすインスタンス:map
Thing
MyObject
MyObject
MyObject myObject = listofThings.stream()
.map(new MyObject()::combine)
.reduce(MyObject::combiner)
.orElseGet(MyObject::new);