Java中遍歷Map的六種方法實現(xiàn)
更新時間:2023年05月16日 08:32:11 作者:Janson666
這篇文章主要介紹了Java中遍歷Map的六種方法,Map是常用的數(shù)據(jù)結(jié)構(gòu)之一,它提供了鍵值對的存儲方式,可以方便地進行數(shù)據(jù)查找和操作,感興趣想要詳細了解可以參考下文
1. 遍歷map方法
- 通過 keySet() 方法獲取全部的key值;
- 通過 values() 方法獲取全部的value值;
- 通過遍歷key值獲取value值;
- 通過entrySet()方法,進行遍歷;
- 使用lambda表達式;
- 采用迭代器方式,方便進行元素的刪除操作;
2. 方案實現(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()方法進行遍歷
/** * 4.通過entrySet()方法,進行遍歷 */ 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元素的一個對象,通過對象調(diào)用getValue()方法,獲取value數(shù)據(jù),也可以調(diào)用getKey()方法,獲取key值 Object value = entry.getValue(); System.out.println(value); } }
2.5 使用lambda表達式
/** * 5.使用lambda表達式 */ public void testMap5(){ HashMap<String, Object> map = new HashMap<>(); map.forEach((key,value)->{ // 直接獲取key值和value值 System.out.println("key: " + key + "value: " + value); }); }
2.6 采用迭代器方式方便進行元素的刪除操作
/** * 6.采用迭代器方式,方便進行元素的刪除操作 */ @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() 方式;
- 如果需要進行遍歷key,value,可以用entrySet() 或者 lambda表達式;
- 如果需要進行遍歷刪除,可以用 iterator() 迭代器方式;
到此這篇關(guān)于Java中遍歷Map的六種方法實現(xiàn)的文章就介紹到這了,更多相關(guān)Java遍歷Map內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java線程的生命周期和狀態(tài)控制_動力節(jié)點Java學院整理
這篇文章主要介紹了Java線程的生命周期和狀態(tài)控制,需要的朋友可以參考下2017-05-05SpringBoot日志進階實戰(zhàn)之Logback配置經(jīng)驗和方法
本文給大家介紹在SpringBoot中使用Logback配置日志的經(jīng)驗和方法,并提供了詳細的代碼示例和解釋,包括:滾動文件、異步日志記錄、動態(tài)指定屬性、日志級別、配置文件等常用功能,覆蓋日常Logback配置開發(fā)90%的知識點,感興趣的朋友跟隨小編一起看看吧2023-06-06Spring?框架中的?Bean?作用域(Scope)使用詳解
Spring框架中的Bean作用域(Scope)決定了在應(yīng)用程序中創(chuàng)建和管理的Bean對象的生命周期和可見性。本文將詳細介紹Spring框架中的Bean作用域的不同類型,包括Singleton、Prototype、Request、Session和Application,并解釋它們的特點和適用場景。2023-09-09Java并發(fā)編程之詳解CyclicBarrier線程同步
在之前的文章中已經(jīng)為大家介紹了java并發(fā)編程的工具:BlockingQueue接口,ArrayBlockingQueue,DelayQueue,LinkedBlockingQueue,PriorityBlockingQueue,SynchronousQueue,BlockingDeque接口,ConcurrentHashMap,CountDownLatch,本文為系列文章第十篇,需要的朋友可以參考下2021-06-06