假設(shè)有一個(gè)包含對(duì)象的List列表,每個(gè)對(duì)象都有一個(gè)屬性value,可以使用Java 8中的Stream流來(lái)累加對(duì)象中某個(gè)屬性的值并返回總和。以下是一些可能的實(shí)現(xiàn)方法:
1、使用reduce方法:
List<MyObject> list = ...;
int sum = list.stream().mapToInt(MyObject::getValue).reduce(0, Integer::sum);
這里使用了mapToInt方法將每個(gè)對(duì)象轉(zhuǎn)換為其value屬性的值,然后使用reduce方法將這些值累加起來(lái)。
2、使用sum方法:
List<MyObject> list = ...;
int sum = list.stream().mapToInt(MyObject::getValue).sum();
這里也使用了mapToInt方法將每個(gè)對(duì)象轉(zhuǎn)換為其value屬性的值,然后使用sum方法將這些值累加起來(lái)。
3、使用forEach方法:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-505333.html
List<MyObject> list = ...;
AtomicInteger sum = new AtomicInteger();
list.stream().forEach(o -> sum.addAndGet(o.getValue()));
這里使用了AtomicInteger來(lái)存儲(chǔ)總和,并使用forEach方法遍歷每個(gè)對(duì)象并將其value屬性的值累加到總和中。
無(wú)論使用哪種方法,都應(yīng)該根據(jù)實(shí)際情況選擇最合適的方法。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-505333.html
到了這里,關(guān)于java 使用stream累加對(duì)象中某個(gè)屬性的值并返回總和的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!