日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java——集合(Map集合的两种迭代)

發布時間:2023/12/1 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java——集合(Map集合的两种迭代) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一,Map集合的第一種迭代

Map集合的第一種迭代,通過get(key)方法,根據鍵去獲取值
package com.wsq.map;import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set;public class Demo2_Iterator { /*** 通過查看Map集合的API發現沒有Iterator方法,那么雙列集合如何迭代呢?* Map集合的第一種迭代形式* 迭代==遍歷* */public static void main(String[] args) {Map<String, Integer> map = new HashMap<>();//雙列集合,鍵是String類型,值是Integer類型map.put("張三", 23);map.put("李四", 24);map.put("王五", 25);map.put("趙六", 26);/*//根據鍵,去獲取值 Integer wsq = map.get("張三"); //獲取map雙列集合中的鍵System.out.println(wsq); //打印輸出map雙列結合中的值*//** ①雙列集合的第一種遍歷形式,通過迭代器進行遍歷//獲取所有鍵Set<String> keySet = map.keySet(); //map.keySet():獲取所有的鍵的集合,鍵是String類型Iterator<String> it = keySet.iterator(); //獲取迭代器 itwhile(it.hasNext()){ //判斷集合中是否有元素;iterator():如果迭代器具有多個元素,則返回 trueString key = it.next(); //獲取每一個鍵,鍵是String類型;next():返回迭代的下一個元素。Integer value = map.get(key); //根據鍵獲取值,值是Integer類型;get(key):指定鍵所映射的值;如果此映射不包含該鍵的映射關系,則返回 null System.out.println(key + "=" + value ); //打印鍵和值}*//*//②雙列集合的第二種遍歷形式,使用增強for循環遍歷 for (String key : map.keySet()) { //for(臨時變量,也就是想要獲取的變量,這里是想要通過鍵去獲取值,String key 表示的是每一個鍵:容器的名字,這里是 map.ketSet()) map.ketSet()是所有鍵的集合,拿到所有的鍵System.out.println(key + "=" + map.get(key)); //增強for循環迭代雙列集合第一種方式}*/}}

二,Map集合的第二種迭代

Map集合的第二種迭代,根據鍵值對對象(也就是把鍵值對當成一個對象),獲取鍵和值
也就是把雙列集合的鍵值對,變成單列集合的鍵值對對象,然后遍歷這個集合,獲取每一個鍵值對對象,根據鍵值對對象獲取鍵和值

解釋一下Map.Entry

package com.wsq.map;public class Demo4_MapEntry {public static void main(String[] args) {}}interface Inter{interface Inter2{public void show();} }class wsq implements Inter.Inter2{//這里的wsq類想繼承Inter2,當出現Inter.Inter2,也就是說,Inter2是Inter的內部接口//同樣的道理,Map.Entry,也就是說,Entry是Map里面的一個內部接口@Overridepublic void show() { //實現接口要重寫人家里面的抽象方法}} package com.wsq.map;import java.security.KeyStore.Entry; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set;public class Demo3_Iterator {/*** Map集合的第二種迭代,根據鍵值對對象,獲取鍵和值* A:鍵值對對象找鍵和值思路* * 獲取所以鍵值對對象的集合* * 遍歷鍵值對對象的集合,獲取到每一個鍵值對對象* * 根據鍵值對對象找鍵和值* */public static void main(String[] args) {Map<String, Integer> map = new HashMap<>();map.put("張三", 23);map.put("李四", 24);map.put("王五", 25);map.put("趙六", 26);/*//①通過迭代器去遍歷Set<Map.Entry<String, Integer>> entrySet = map.entrySet(); //Map.Entry說明Entry是Map的內部接口,將鍵和值封裝成了Entry對象,并存儲在Set集合中;遍歷雙列集合里面存儲的都是Entry對象,所以通過迭代器迭代的應該也是Entry對象Iterator<Map.Entry<String, Integer>> it = entrySet.iterator(); //通過迭代器去獲取每一個對象,<Map.Entry<String, Integer>>泛型的迭代應該一致while(it.hasNext()){ //hasNext():如果迭代器具有多個元素,則返回 true;通過循環開始獲取每一個Entry對象Map.Entry<String, Integer> wsq = it.next(); //①父類引用指向子類對象;這里的wsq就代表每一個Entry對象//Entry<String, Integer> wsq = it.next(); //②直接獲取的是子類對象String key = wsq.getKey(); //Set<Map.Entry<K,V>>下有個getKey():返回與此項對應的鍵;根據鍵值對對象獲取對應的鍵Integer value = wsq.getValue(); //Set<Map.Entry<K,V>>下有個getValue():返回與此項對應的值;根據鍵值對對象獲取對應的值System.out.println(key + "=" + value);}*//*//②通過增強for循環遍歷 for (Map.Entry<String, Integer> wsq : map.entrySet()) { //for(定義一個臨時變量的數據類型跟Entry對象的數據類型一致也就是Map.Entry<String, Integer> wsq代表每一個鍵值對象 : )System.out.println(wsq.getKey() + "=" + wsq.getValue()); //通過鍵值對象來獲取它里面的getKey()和getValue();getKey():返回與此項對應的鍵 getValue():返回與此項對應的值}*/}}

總結

以上是生活随笔為你收集整理的Java——集合(Map集合的两种迭代)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。