Java中遍歷Map的六種方法實(shí)現(xiàn)
1. 遍歷map方法
- 通過 keySet() 方法獲取全部的key值;
- 通過 values() 方法獲取全部的value值;
- 通過遍歷key值獲取value值;
- 通過entrySet()方法,進(jìn)行遍歷;
- 使用lambda表達(dá)式;
- 采用迭代器方式,方便進(jìn)行元素的刪除操作;
2. 方案實(shí)現(xiàn)
2.1 獲取全部的key值
/** * 1.獲取全部的key值 */ public void testMap1(){ HashMap<String, Object> map = new HashMap<>(); Set<String> keySet = map.keySet(); for (String key: keySet){ System.out.println(key); } }
2.2 獲取全部的value值
/** * 2.獲取全部的value值 */ public void testMap2(){ HashMap<String, Object> map = new HashMap<>(); Collection<Object> values = map.values(); for (Object value: values){ System.out.println(value); } }
2.3 通過遍歷key值獲取value值
/** * 3.通過遍歷key值獲取value值 */ public void testMap3(){ HashMap<String, Object> map = new HashMap<>(); Set<String> keySet = map.keySet(); for (String key: keySet){ Object value = map.get(key); System.out.println(value); } }
2.4 通過entrySet()方法進(jìn)行遍歷
/** * 4.通過entrySet()方法,進(jìn)行遍歷 */ public void testMap4(){ HashMap<String, Object> map = new HashMap<>(); Set<Map.Entry<String, Object>> entrySet = map.entrySet(); for (Map.Entry<String, Object> entry: entrySet){ // entry代表map元素的一個(gè)對象,通過對象調(diào)用getValue()方法,獲取value數(shù)據(jù),也可以調(diào)用getKey()方法,獲取key值 Object value = entry.getValue(); System.out.println(value); } }
2.5 使用lambda表達(dá)式
/** * 5.使用lambda表達(dá)式 */ public void testMap5(){ HashMap<String, Object> map = new HashMap<>(); map.forEach((key,value)->{ // 直接獲取key值和value值 System.out.println("key: " + key + "value: " + value); }); }
2.6 采用迭代器方式方便進(jìn)行元素的刪除操作
/** * 6.采用迭代器方式,方便進(jìn)行元素的刪除操作 */ @Test public void testMap6(){ HashMap<String, Object> map = new HashMap<>(); map.put("77","6666"); Iterator<Map.Entry<String, Object>> iterator = map.entrySet().iterator(); while (iterator.hasNext()){ Map.Entry<String, Object> entry = iterator.next(); if (entry.getKey().equals("77")){ iterator.remove(); } } }
3. 總結(jié)
- 如果只需要key值,則直接使用 keySet()方式;
- 如果只需要value值,則直接使用values() 方式;
- 如果需要進(jìn)行遍歷key,value,可以用entrySet() 或者 lambda表達(dá)式;
- 如果需要進(jìn)行遍歷刪除,可以用 iterator() 迭代器方式;
到此這篇關(guān)于Java中遍歷Map的六種方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java遍歷Map內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java線程的生命周期和狀態(tài)控制_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Java線程的生命周期和狀態(tài)控制,需要的朋友可以參考下2017-05-05Mybatis多個(gè)字段模糊匹配同一個(gè)值的案例
這篇文章主要介紹了Mybatis多個(gè)字段模糊匹配同一個(gè)值的案例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09SpringBoot日志進(jìn)階實(shí)戰(zhàn)之Logback配置經(jīng)驗(yàn)和方法
本文給大家介紹在SpringBoot中使用Logback配置日志的經(jīng)驗(yàn)和方法,并提供了詳細(xì)的代碼示例和解釋,包括:滾動(dòng)文件、異步日志記錄、動(dòng)態(tài)指定屬性、日志級別、配置文件等常用功能,覆蓋日常Logback配置開發(fā)90%的知識點(diǎn),感興趣的朋友跟隨小編一起看看吧2023-06-06Spring?框架中的?Bean?作用域(Scope)使用詳解
Spring框架中的Bean作用域(Scope)決定了在應(yīng)用程序中創(chuàng)建和管理的Bean對象的生命周期和可見性。本文將詳細(xì)介紹Spring框架中的Bean作用域的不同類型,包括Singleton、Prototype、Request、Session和Application,并解釋它們的特點(diǎn)和適用場景。2023-09-09Java并發(fā)編程之詳解CyclicBarrier線程同步
在之前的文章中已經(jīng)為大家介紹了java并發(fā)編程的工具:BlockingQueue接口,ArrayBlockingQueue,DelayQueue,LinkedBlockingQueue,PriorityBlockingQueue,SynchronousQueue,BlockingDeque接口,ConcurrentHashMap,CountDownLatch,本文為系列文章第十篇,需要的朋友可以參考下2021-06-06java反射拼接方法名動(dòng)態(tài)執(zhí)行方法實(shí)例
下面小編就為大家?guī)硪黄猨ava反射拼接方法名動(dòng)態(tài)執(zhí)行方法實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08