JAVA8獨(dú)有的map遍歷方式(非常好用)
使用JAV8 帶來的map遍歷方式使遍歷非常簡(jiǎn)單
public class LambdaMap { private Map<String, Object> map = new HashMap<>(); @Before public void initData() { map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); map.put("key4", 4); map.put("key5", 5); map.put("key5", 'h'); } /** * 遍歷Map的方式一 * 通過Map.keySet遍歷key和value */ @Test public void testErgodicWayOne() { System.out.println("---------------------Before JAVA8 ------------------------------"); for (String key : map.keySet()) { System.out.println("map.get(" + key + ") = " + map.get(key)); } System.out.println("---------------------JAVA8 ------------------------------"); map.keySet().forEach(key -> System.out.println("map.get(" + key + ") = " + map.get(key))); } /** * 遍歷Map第二種 * 通過Map.entrySet使用Iterator遍歷key和value */ @Test public void testErgodicWayTwo() { System.out.println("---------------------Before JAVA8 ------------------------------"); Iterator<Map.Entry<String, Object>> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<String, Object> entry = iterator.next(); System.out.println("key:value = " + entry.getKey() + ":" + entry.getValue()); } System.out.println("---------------------JAVA8 ------------------------------"); map.entrySet().iterator().forEachRemaining(item -> System.out.println("key:value=" + item.getKey() + ":" + item.getValue())); } /** * 遍歷Map第三種 * 通過Map.entrySet遍歷key和value,在大容量時(shí)推薦使用 */ @Test public void testErgodicWayThree() { System.out.println("---------------------Before JAVA8 ------------------------------"); for (Map.Entry<String, Object> entry : map.entrySet()) { System.out.println("key:value = " + entry.getKey() + ":" + entry.getValue()); } System.out.println("---------------------JAVA8 ------------------------------"); map.entrySet().forEach(entry -> System.out.println("key:value = " + entry.getKey() + ":" + entry.getValue())); } /** * 遍歷Map第四種 * 通過Map.values()遍歷所有的value,但不能遍歷key */ @Test public void testErgodicWayFour() { System.out.println("---------------------Before JAVA8 ------------------------------"); for (Object value : map.values()) { System.out.println("map.value = " + value); } System.out.println("---------------------JAVA8 ------------------------------"); map.values().forEach(System.out::println); // 等價(jià)于map.values().forEach(value -> System.out.println(value)); } /** * 遍歷Map第五種 * 通過k,v遍歷,Java8獨(dú)有的 */ @Test public void testErgodicWayFive() { System.out.println("---------------------Only JAVA8 ------------------------------"); map.forEach((k, v) -> System.out.println("key:value = " + k + ":" + v)); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot+mybatis-plus實(shí)現(xiàn)內(nèi)置的CRUD使用詳解
這篇文章主要介紹了springboot+mybatis-plus實(shí)現(xiàn)內(nèi)置的CRUD使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Spring Cloud EureKa Ribbon 服務(wù)注冊(cè)發(fā)現(xiàn)與調(diào)用
這篇文章主要介紹了Spring Cloud EureKa Ribbon 服務(wù)注冊(cè)發(fā)現(xiàn)與調(diào)用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02詳解如何在Spring?Security中自定義權(quán)限表達(dá)式
這篇文章主要和大家詳細(xì)介紹一下如何在Spring?Security中自定義權(quán)限表達(dá)式,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-07-07解決Maven項(xiàng)目加載spring bean的配置xml文件會(huì)提示找不到問題
這篇文章主要介紹了解決Maven項(xiàng)目加載spring bean的配置xml文件會(huì)提示找不到問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08java的新特性反射機(jī)制應(yīng)用及操作示例詳解
這篇文章主要為大家介紹了java的新特性反射機(jī)制的操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05springboot2.3.1替換為其他的嵌入式servlet容器的詳細(xì)方法
這篇文章主要介紹了springboot2.3.1替換為其他的嵌入式servlet容器的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07詳解SpringBoot優(yōu)雅編碼之Lombok加持
這篇文章主要介紹了詳解SpringBoot優(yōu)雅編碼之Lombok加持,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06基于Spring Data Jest的Elasticsearch數(shù)據(jù)統(tǒng)計(jì)示例
本篇文章主要介紹了基于Spring Data Jest的Elasticsearch數(shù)據(jù)統(tǒng)計(jì)示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02Eclipse+Java+Swing實(shí)現(xiàn)圖書管理系統(tǒng)(詳細(xì)代碼)
這篇文章主要介紹了Eclipse+Java+Swing實(shí)現(xiàn)圖書管理系統(tǒng)并附上詳細(xì)代碼,需要的小伙伴可以參考一下,希望對(duì)你有所幫助2022-01-01