【Java 8】一行代碼實現(xiàn)求和操作

對列表里某個類中的某個屬性進行求和操作非常常見。在Java 8誕生前,常用for循環(huán)手動累加,往往要寫上三四行代碼,不夠簡練。

參考鏈接
比如有個類:

class Hhd{
    private String aStr;
    private double bDou;

    public String getaStr() {
        return aStr;
    }

    public void setaStr(String aStr) {
        this.aStr = aStr;
    }

    public double getbDou() {
        return bDou;
    }

    public void setbDou(double bDou) {
        this.bDou = bDou;
    }
}

求和操作一行代碼便可完成,并且有一下四種方式,挑喜歡的就好~:

    @Test
    public void TestStreamSum() {
        Hhd a = new Hhd();
        a.setbDou(1.);
        Hhd b = new Hhd();
        b.setbDou(233.);

        List<Hhd> aList = new ArrayList<>();
        aList.add(a);
        aList.add(b);

        double allSum = aList.stream().map(Hhd::getbDou).reduce(0., Double::sum);
        double allSum_1 = aList.stream().map(Hhd::getbDou).reduce(0., (x, y) -> x + y);
        double allSum_2 = aList.stream().collect(Collectors.summingDouble(Hhd::getbDou));
        double allSum_3 = aList.stream().mapToDouble(Hhd::getbDou).sum();
        System.out.println(allSum);
        System.out.println(allSum_1);
        System.out.println(allSum_2);
        System.out.println(allSum_3);
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時...
    歐辰_OSR閱讀 30,229評論 8 265
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,650評論 1 32
  • 電影真是個很神奇的東西,讓人在短短的一百多分鐘時間可以穿越或者旁觀很震撼場景經(jīng)歷,帶給人非同一般的視覺,聽覺和幻覺...
    民哥_財富教練閱讀 191評論 0 0
  • 近年來,因維修成本、人力成本普遍上漲,傳統(tǒng)物業(yè)公司,尤其是那些獨立運營的中小物業(yè)公司,生存舉步維艱。 中奧到...
    偉娓道來閱讀 2,331評論 4 4
  • 此生如夢,凌亂在年華。初始雨打芭蕉下,夢醒,人去樓空,流芳錯半年。 此生如花。只言片語在半夏。挫敗清泉石中,花落,...
    藍筆芯女孩閱讀 397評論 0 2

友情鏈接更多精彩內(nèi)容