欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java?Map集合中取鍵和值的4種方式舉例

 更新時(shí)間:2024年01月28日 16:20:04   作者:愚公搬程序  
Java中的Map是一種鍵值對(duì)存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),其中每個(gè)鍵都唯一,與一個(gè)值相關(guān)聯(lián),這篇文章主要給大家介紹了關(guān)于java?Map集合中取鍵和值的4種方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

1、使用Map的keySet()方法獲取鍵集合,再使用forEach循環(huán)遍歷鍵集合,通過Map的get()方法獲取對(duì)應(yīng)的值。例如:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);

// 獲取鍵集合,遍歷鍵集合,通過get()方法獲取對(duì)應(yīng)的值
Set<String> keySet = map.keySet();
for (String key : keySet) {
   Integer value = map.get(key);
   System.out.println("key:" + key + ",value:" + value);
}

2、使用Map的values()方法獲取值集合,再使用forEach循環(huán)遍歷值集合。例如:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);

// 獲取值集合,遍歷值集合
Collection<Integer> values = map.values();
for (Integer value : values) {
   System.out.println("value:" + value);
}

3、使用Map的entrySet()方法獲取鍵值對(duì)集合,再使用forEach循環(huán)遍歷鍵值對(duì)集合,通過Entry的getKey()方法獲取鍵,通過Entry的getValue()方法獲取值。例如:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);

// 獲取鍵值對(duì)集合,遍歷鍵值對(duì)集合,通過Entry的getKey()方法獲取鍵,通過Entry的getValue()方法獲取值
Set<Entry<String, Integer>> entrySet = map.entrySet();
for (Entry<String, Integer> entry : entrySet) {
   String key = entry.getKey();
   Integer value = entry.getValue();
   System.out.println("key:" + key + ",value:" + value);
}

4、使用Java8的Stream流獲取鍵值對(duì)集合,通過map方法獲取鍵或值的流。例如:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);

// 獲取鍵流,遍歷鍵流
map.keySet().stream().forEach(key -> System.out.println("key:" + key));

// 獲取值流,遍歷值流
map.values().stream().forEach(value -> System.out.println("value:" + value));

// 獲取鍵值對(duì)流,遍歷鍵值對(duì)流,通過Entry的getKey()方法獲取鍵,通過Entry的getValue()方法獲取值
map.entrySet().stream().forEach(entry -> System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue()));

附:遍歷獲取Map集合中的鍵和值

寫在前面:前段時(shí)間找工作,遇到一道面試題,要求遍歷取出Map集合的鍵和值,沒有要求使用多種方法,做完面試題就想著整理一下,讓自己多多積累。

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Base2 {
    /**
     *
     * @param args
     */
    public static void main(String[] args) {
        Map<String, Object> map = new HashMap<>();
        map.put("1", "張三");
        map.put("2", "李四");
        map.put("3", "王五");
        //方法一:使用keySet()方法將key放入set中
        Set<String> set = map.keySet();//先使用set得到map的所有key
        Iterator<String> it = set.iterator();//構(gòu)造set的迭代器
        while (it.hasNext()) {
            String key = it.next();
            Object value = map.get(key);
            System.out.println("key" + key + "value" + value);
        }
        //方法二 : 用增強(qiáng)for循環(huán)來代替 iterator
        Set<String> set1 = map.keySet();
        for (String key1 : set1) {
            Object value1 = map.get(key1);
            System.out.println("key" + key1 + "value" + value1);
            //方法三 :將map的鍵值對(duì)用entrySet方法取出,再放入到set當(dāng)中
            Set<Map.Entry<String, Object>> map1 = map.entrySet();
            for (Map.Entry<String, Object> maps :
                      map1) {
                String key2 = maps.getKey();
                Object Value2 = maps.getValue();
                System.out.println("key" + key2 + "value" + Value2);
            }
            //方法四
            Iterator iterator = map.entrySet().iterator();
            while (iterator.hasNext()){
                Map.Entry maps = ( Map.Entry)iterator.next();
                Object key = maps.getKey();
                Object value = maps.getValue();
                System.out.println("key" + key + "value" + value);
            }
        }
    }}

總結(jié) 

到此這篇關(guān)于java Map集合中取鍵和值的4種方式的文章就介紹到這了,更多相關(guān)java Map集合取鍵和值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JAVA中的SPI思想介紹

    JAVA中的SPI思想介紹

    大家好,本篇文章主要講的是JAVA中的SPI思想介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • Eclipse 導(dǎo)出可執(zhí)行Java工程/可執(zhí)行Jar文件(包含第三方Jar包)

    Eclipse 導(dǎo)出可執(zhí)行Java工程/可執(zhí)行Jar文件(包含第三方Jar包)

    這篇文章主要介紹了Eclipse 導(dǎo)出可執(zhí)行Java工程/可執(zhí)行Jar文件(包含第三方Jar包)的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • 教你怎么用Java操作Redis

    教你怎么用Java操作Redis

    今天帶大家來學(xué)習(xí)怎么用Java操作Redis,文中有非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)java的小伙伴們有很好的幫助,建議有redis基礎(chǔ)并熟悉redis的基本數(shù)據(jù)類型命令的小伙伴學(xué)習(xí),需要的朋友可以參考下
    2021-05-05
  • Java開發(fā)利器之Guava?Cache的使用教程

    Java開發(fā)利器之Guava?Cache的使用教程

    緩存技術(shù)被認(rèn)為是減輕服務(wù)器負(fù)載、降低網(wǎng)絡(luò)擁塞、增強(qiáng)Web可擴(kuò)展性的有效途徑之一。今天咱們就來聊聊Guava?Cache本地緩存,感興趣的可以了解一下
    2022-09-09
  • Java中BigDecimal類的add()的使用詳解

    Java中BigDecimal類的add()的使用詳解

    這篇文章主要介紹了Java中BigDecimal類的add()的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Java 堆排序?qū)嵗?大頂堆、小頂堆)

    Java 堆排序?qū)嵗?大頂堆、小頂堆)

    下面小編就為大家分享一篇Java 堆排序?qū)嵗?大頂堆、小頂堆),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Java實(shí)現(xiàn)圖書館借閱系統(tǒng)

    Java實(shí)現(xiàn)圖書館借閱系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖書館借閱系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java中ThreadLocal的用法和原理詳解

    Java中ThreadLocal的用法和原理詳解

    這篇文章主要為大家詳細(xì)介紹了Java中ThreadLocal的用法和原理,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下
    2023-04-04
  • mybatis?返回Map類型key默認(rèn)為大寫問題

    mybatis?返回Map類型key默認(rèn)為大寫問題

    這篇文章主要介紹了mybatis?返回Map類型key默認(rèn)為大寫問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 淺談Java源碼ConcurrentHashMap

    淺談Java源碼ConcurrentHashMap

    最近剛?cè)腴Tjava,覺得看源碼挺有意思的,就記錄一下一些常用類的源碼吧,從而能夠總結(jié)一些使用細(xì)節(jié).本文對(duì)源碼ConcurrentHashMap介紹的非常詳細(xì),對(duì)正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05

最新評(píng)論