Java map 優(yōu)雅的元素遍歷方式說明
Java 8 , Lambda + foreach 語法糖, 寫起來非常的 clean
public static void main(String[] args) { // map init Map<String, String> map = new HashMap<>(); map.put("k", "v"); /*=====處理函數(shù)只有單條語句=====*/ map.forEach((k, v) -> System.out.println(k + v)); /*=====處理函數(shù)有多個步驟=======*/ map.forEach((k, v) -> { System.out.println(111); System.out.println(k + v); }); }
補充知識:java 遍歷Map 和 根據(jù)Map的值(value)取鍵(key)
看代碼吧~
public static void main(String[] args) { // Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new LinkedHashMap<String, Object>(); map.put("username","zhaokuo"); map.put("password", "123456"); map.put("email", "zhaokuo719@163.com"); map.put("sex", "男"); //第一種 用for循環(huán)的方式 for (Map.Entry<String, Object> m :map.entrySet()) { System.out.println(m.getKey()+"\t"+m.getValue()); } //利用迭代 (Iterator) Set set=map.entrySet(); Iterator iterator=set.iterator(); while(iterator.hasNext()){ Map.Entry<String, Object> enter=(Entry<String, Object>) iterator.next(); System.out.println(enter.getKey()+"\t"+enter.getValue()); } //利用KeySet 迭代 Iterator it = map.keySet().iterator(); while(it.hasNext()){ String key; String value; key=it.next().toString(); value=(String) map.get(key); System.out.println(key+"--"+value); } //利用EnterySet迭代 Iterator i=map.entrySet().iterator(); System.out.println( map.entrySet().size()); String key; String value; while(i.hasNext()){ Map.Entry entry = (Map.Entry)i.next(); key=entry.getKey().toString(); value=entry.getValue().toString(); System.out.println(key+"===="+value); } System.out.println(getKeyByValue(map, "zhaokuo")); }
//根據(jù)Value取Key public static String getKeyByValue(Map map, Object value) { String keys=""; Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Entry) it.next(); Object obj = entry.getValue(); if (obj != null && obj.equals(value)) { keys=(String) entry.getKey(); } } return keys; }
以上這篇Java map 優(yōu)雅的元素遍歷方式說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringMVC框架整合Junit進(jìn)行單元測試(案例詳解)
本文詳細(xì)介紹在SpringMVC任何使用Junit框架。首先介紹了如何引入依賴,接著介紹了編寫一個測試基類,并且對其中涉及的各個注解做了一個詳細(xì)說明,感興趣的朋友跟隨小編一起看看吧2021-05-05java使用XSSFWorkbook實現(xiàn)讀寫Excel
這篇文章主要為大家詳細(xì)介紹了java如何通過使用XSSFWorkbook實現(xiàn)讀寫Excel功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04關(guān)于java四舍五入方法的基礎(chǔ)學(xué)習(xí)
這篇文章主要給大家介紹了關(guān)于java四舍五入方法的基礎(chǔ)學(xué)習(xí),這是最近做算法題的時候碰到的這個問題,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07關(guān)于Java中的實體類要?implements?Serializable的原因分析
這篇文章主要介紹了Java中的實體類為什么要?implements?Serializable,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06Java Springboot websocket使用案例詳解
這篇文章主要介紹了Java Springboot websocket使用案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09NameNode?重啟恢復(fù)數(shù)據(jù)的流程詳解
這篇文章主要為大家介紹了NameNode?重啟恢復(fù)數(shù)據(jù)的流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02Spring注解驅(qū)動之BeanDefinitionRegistryPostProcessor原理解析
這篇文章主要介紹了Spring注解驅(qū)動之BeanDefinitionRegistryPostProcessor原理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09