Java遍歷Map四種方式講解
Java中遍歷Map的四種方式
在java中所有的map都實(shí)現(xiàn)了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方式去遍歷。
方法一:在for循環(huán)中使用entries實(shí)現(xiàn)Map的遍歷:
/** * 最常見(jiàn)也是大多數(shù)情況下用的最多的,一般在鍵值對(duì)都需要使用 */ Map <String,String>map = new HashMap<String,String>(); map.put("熊大", "棕色"); map.put("熊二", "黃色"); for(Map.Entry<String, String> entry : map.entrySet()){ String mapKey = entry.getKey(); String mapValue = entry.getValue(); System.out.println(mapKey+":"+mapValue); }
方法二:在for循環(huán)中遍歷key或者values,一般適用于只需要map中的key或者value時(shí)使用,在性能上比使用entrySet較好;
Map <String,String>map = new HashMap<String,String>(); map.put("熊大", "棕色"); map.put("熊二", "黃色"); //key for(String key : map.keySet()){ System.out.println(key); } //value for(String value : map.values()){ System.out.println(value); }
方法三:通過(guò)Iterator遍歷;
Iterator<Entry<String, String>> entries = map.entrySet().iterator(); while(entries.hasNext()){ Entry<String, String> entry = entries.next(); String key = entry.getKey(); String value = entry.getValue(); System.out.println(key+":"+value); }
方法四:通過(guò)鍵找值遍歷,這種方式的效率比較低,因?yàn)楸旧韽逆I取值是耗時(shí)的操作;
for(String key : map.keySet()){ String value = map.get(key); System.out.println(key+":"+value); }
到此這篇關(guān)于Java遍歷Map四種方式講解的文章就介紹到這了,更多相關(guān)Java遍歷Map內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring注解@RestControllerAdvice原理解析
這篇文章主要介紹了Spring注解@RestControllerAdvice原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11Mybatis多參數(shù)及實(shí)體對(duì)象傳遞實(shí)例講解
在使用Mybatis的時(shí)候,經(jīng)常會(huì)有各種各樣的參數(shù)傳遞,不同類(lèi)型,不同個(gè)數(shù)的參數(shù),下面小編通過(guò)例子給大家講解下Mybatis多參數(shù)及實(shí)體對(duì)象傳遞,一起看看吧2016-12-12SpringBoot+Vue+Element-ui實(shí)現(xiàn)前后端分離
使用前后端分離的方式,可以減少代碼耦合,本文主要介紹了SpringBoot+Vue+Element-ui實(shí)現(xiàn)前后端分離,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06解決springboot報(bào)錯(cuò)Could not resolve placeholder‘x
這篇文章主要介紹了解決springboot報(bào)錯(cuò):Could not resolve placeholder ‘xxx‘ in value “${XXXX}問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11java實(shí)現(xiàn)斗地主發(fā)牌系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)斗地主發(fā)牌系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04springboot 集成pgsql+mybatis plus的詳細(xì)步驟
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步驟與 MyBatis 類(lèi)似,只不過(guò)在 MyBatis Plus 中提供了更多的便利功能,如自動(dòng)生成 SQL、分頁(yè)查詢(xún)、Wrapper 查詢(xún)等,下面分步驟給大家介紹springboot 集成pgsql+mybatis plus的過(guò)程,感興趣的朋友一起看看吧2023-12-12Intellij Mybatis連接Mysql數(shù)據(jù)庫(kù)
最近在搞android的項(xiàng)目,在開(kāi)發(fā)過(guò)程中遇到了好多問(wèn)題,今天小編給大家說(shuō)下mybatis連接MySQL數(shù)據(jù)庫(kù)的方法,感興趣的朋友跟著小編一起學(xué)習(xí)吧2016-10-10SpringCloud讓微服務(wù)實(shí)現(xiàn)指定程序調(diào)用
這篇文章主要介紹了SpringCloud讓微服務(wù)實(shí)現(xiàn)指定程序調(diào)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06