真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

初識stream,獲取list中最大的數(shù)-創(chuàng)新互聯(lián)

今天看到j(luò)ava8的stream用法,感覺很厲害的樣子,代碼簡潔了不少,打算拿來上上手。
            打開idea,然后intList.stream()再點一下發(fā)現(xiàn)有好多方法,其中有倆一個min,還有一個max,難道說就是用來獲取大最小數(shù)的嗎?我決定試一試:
            List intList = Arrays.asList(3, 1, 2);
    System.out.println(intList.stream().max(Integer::max).get());
            運行結(jié)果是3,感覺很正確的樣子
            然后我又試了
            System.out.println(intList.stream().min(Integer::min).get());
            運行結(jié)果是2?
            什么情況?!而且代碼里有兩個min,感覺怪怪的,然后接下來試試min和max搭配和max和min搭配,返回結(jié)果分別是2和3,看來后面的Integer::min不會影響錯誤的結(jié)果。
            為什么會這樣的,接下來使用idea的功能把代碼拆開看一眼:
            boolean seen = false;
    Integer best = null;
    for (Integer integer : intList) {
        if (!seen || Integer.max(integer, best) > 0) {
            seen = true;
            best = integer;
        }
    }
    System.out.println((seen ? Optional.of(best) : Optional.empty()).get());
            看完之后恍然大悟,原來stream的max和min方法是通過判斷結(jié)果大于或者小于0進行判斷的,而我在里面使用了max或者min方法,達不到比較的效果,所以就失效了,正確的寫法應(yīng)你該如下:
            System.out.println(intList.stream().max(Integer::compare).get());
            這樣的話通過compare方法實現(xiàn)對數(shù)據(jù)的比較,從而獲取到大值或者最小值,就能得到正確的結(jié)果了~
            后來在網(wǎng)上發(fā)現(xiàn),還有更nb的寫法:
            System.out.println(intList.stream().mapToInt(Integer::intValue).min().getAsInt());
            這種寫法什么意思呢?我的理解是intList.stream()獲得一個數(shù)據(jù)集合,然后mapToInt(Integer::intValue)返回一個IntStream,為什么會出現(xiàn)這種寫法呢,因為泛型的關(guān)系不能出現(xiàn)List這種情況,只能使用Integer,但是int要比Integer小很多,所以這樣寫就相當(dāng)于實現(xiàn)了List進行數(shù)據(jù)分析,為后面的處理做準備。
            具體性能能提升多少,以后實踐出真知吧~

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

東光網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站從2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站

標題名稱:初識stream,獲取list中最大的數(shù)-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://weahome.cn/article/deesji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部