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

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

在java8map中使用stream的方法

這篇文章主要講解了在java 8 map中使用stream的方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

在閻良等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),網(wǎng)絡(luò)營銷推廣,外貿(mào)網(wǎng)站制作,閻良網(wǎng)站建設(shè)費用合理。

簡介

Map是java中非常常用的一個集合類型,我們通常也需要去遍歷Map去獲取某些值,java 8引入了Stream的概念,那么我們怎么在Map中使用Stream呢?

基本概念

Map有key,value還有表示key,value整體的Entry。

創(chuàng)建一個Map:

Map someMap = new HashMap<>();

獲取Map的entrySet:

Set> entries = someMap.entrySet();

獲取map的key:

Set keySet = someMap.keySet();

獲取map的value:

Collection values = someMap.values();

上面我們可以看到有這樣幾個集合:Map,Set,Collection。

除了Map沒有stream,其他兩個都有stream方法:

Stream> entriesStream = entries.stream();
Stream valuesStream = values.stream();
Stream keysStream = keySet.stream();

我們可以通過其他幾個stream來遍歷map。

使用Stream獲取map的key

我們先給map添加幾個值:

someMap.put("jack","20");
someMap.put("bill","35");

上面我們添加了name和age字段。

如果我們想查找age=20的key,則可以這樣做:

Optional optionalName = someMap.entrySet().stream()
        .filter(e -> "20".equals(e.getValue()))
        .map(Map.Entry::getKey)
        .findFirst();
    log.info(optionalName.get());

因為返回的是Optional,如果值不存在的情況下,我們也可以處理:

optionalName = someMap.entrySet().stream()
        .filter(e -> "Non ages".equals(e.getValue()))
        .map(Map.Entry::getKey).findFirst();

    log.info("{}",optionalName.isPresent());

上面的例子我們通過調(diào)用isPresent來判斷age是否存在。

如果有多個值,我們可以這樣寫:

someMap.put("alice","20");
    List listnames = someMap.entrySet().stream()
        .filter(e -> e.getValue().equals("20"))
        .map(Map.Entry::getKey)
        .collect(Collectors.toList());

    log.info("{}",listnames);

上面我們調(diào)用了collect(Collectors.toList())將值轉(zhuǎn)成了List。

使用stream獲取map的value

上面我們獲取的map的key,同樣的我們也可以獲取map的value:

List listAges = someMap.entrySet().stream()
        .filter(e -> e.getKey().equals("alice"))
        .map(Map.Entry::getValue)
        .collect(Collectors.toList());

    log.info("{}",listAges);

上面我們匹配了key值是alice的value。

看完上述內(nèi)容,是不是對在java 8 map中使用stream的方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站名稱:在java8map中使用stream的方法
鏈接地址:http://weahome.cn/article/ipsiec.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部