Iterate Map 正在從 Map 集合中提取一堆資料。在大多數即時情況下,我們在地圖上儲存了大量資料。開發者想要取得這些數據;他必須迭代整個地圖。地圖儲存在 util.Map 套件中。在本主題中,我們將學習 Java Iterate Map。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
您可以用 3 種方式迭代地圖。
1. Map是一個鍵值對的結構化集合。地圖是一個介面。因此,Map 實作為
2. Entry是Map的子介面。因此,可以透過條目名稱來存取它。它傳回了地圖的集合視圖。地圖。該條目提供了獲取鍵值對的方法。
如上所述,Map 可以使用 forEach、普通 for 和 while 迴圈進行迭代。我們將透過語法來理解它。
文法:
Map<DataType, DataType>map = new HashMap<DataType, DataType>(); map.forEach((key, value) -> //logic
文法:
Map<DataType,DataType> map= new HashMap<DataType,DataType>(); for (Map.Entry<DataType,DataType> set: map.entrySet()) //logic }
文法:
Map<String, String> mapObj = new HashMap<>(); Iterator iterator= mapObj .entrySet().iterator(); while (iterator.hasNext()) { //logic }
根據需求,我們可以透過以上任何一種方式迭代地圖。
以下是範例:
代碼:
import java.util.HashMap; import java.util.Map; public class ForEachMapIteration { public static void main(String[] args) { // creating a hashmap object Map<Integer, String> names = new HashMap<>(); // adding key and values to hash map names.put(1, "Paramesh"); names.put(2, "Amardeep"); names.put(3, "Venkatesh"); names.put(4, "Ramesh"); names.put(5, "Suresh"); names.put(3, "Krishna"); names.put(4, "Rama"); names.put(5, "Rajitha"); // iterating key and value with forEach loop names.forEach((key, value) -> { System.out.println("ID =>" + key + " Name => " + value); }); } }
輸出:
說明:
正如您在上面的程式碼中看到的,我們使用 forEach 迭代了地圖
代碼:
package com.map; import java.util.HashMap; import java.util.Map; public class ForEachKeyValueMapIteration { public static void main(String[] args) { // creating a hashmap object Map<Integer, String> names = new HashMap<>(); // adding key and values to hash map names.put(1, "Paramesh"); names.put(2, "Amardeep"); names.put(3, "Venkatesh"); names.put(4, "Ramesh"); names.put(5, "Suresh"); names.put(3, "Krishna"); names.put(4, "Rama"); names.put(5, "Rajitha"); // iterating ids with forEach loop names.forEach((key, value) -> { System.out.println("ID =>" + key); }); // iterating names with forEach loop names.forEach((key, value) -> { System.out.println("Name => " + value); }); } }
輸出:
說明:
如您在上面的輸出中所看到的,我們也可以使用 forEach 迴圈分別取得鍵和值。
代碼:
<strong> </strong>import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; public class ForMapIteration { public static void main(String[] args) { // creating a hashmap object Map<Integer, String> names = new HashMap<>(); // adding key and values to hash map names.put(1, "Paramesh"); names.put(2, "Amardeep"); names.put(3, "Venkatesh"); names.put(4, "Ramesh"); names.put(5, "Suresh"); names.put(3, "Krishna"); names.put(4, "Rama"); names.put(5, "Rajitha"); // iterating key and value with for loop for (Entry<Integer, String> entry : names.entrySet()) System.out.println("ID => " + entry.getKey() + " Name => " + entry.getValue()); } }
輸出:
說明:
正如您在上面的程式碼中看到的,我們使用 for 迴圈迭代了地圖。
代碼:
<strong> </strong>import java.util.HashMap; import java.util.Map; public class ForKeyAndValueMapIteration { public static void main(String[] args) { // creating a hashmap object Map<Integer, String> names = new HashMap<>(); // adding key and values to hash map names.put(1, "Paramesh"); names.put(2, "Amardeep"); names.put(3, "Venkatesh"); names.put(4, "Ramesh"); names.put(5, "Suresh"); names.put(3, "Krishna"); names.put(4, "Rama"); names.put(5, "Rajitha"); //fetching ids for (Integer id : names.keySet()) System.out.println("ID => " + id); // fetching names for (String name : names.values()) System.out.println("Name => " + name); } }
輸出:
說明:
如您在上面的輸出中所看到的,我們也可以使用 for 迴圈分別取得鍵和值。
代碼:
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class WhileIteratorLoopMap { public static void main(String[] args) { // creating a hashmap object Map<Integer, String> names = new HashMap<>(); // adding key and values to hash map names.put(1, "Paramesh"); names.put(2, "Amardeep"); names.put(3, "Venkatesh"); names.put(4, "Ramesh"); names.put(5, "Suresh"); names.put(3, "Krishna"); names.put(4, "Rama"); names.put(5, "Rajitha"); //get entry set from map Set set = names.entrySet(); //get iterator from set Iterator iterator = set.iterator(); //fetching id and names with while loop while (iterator.hasNext()) { Map.Entry entry = (Map.Entry) iterator.next(); System.out.println("ID =>"+entry.getKey() + " Name => " + entry.getValue()); } } }
輸出:
說明:
正如您在上面的程式碼中看到的,我們使用迭代器和 while 循環迭代了映射。
注意:所有情況都會產生相同的輸出,但建議使用 forEach 迴圈進行開發,因為它的運行時間較短。您可以使用 Entry 介面中的 for 迴圈、forEach 迴圈和 while 迴圈來迭代地圖。我們也可以分別迭代鍵和值,不會有任何錯誤。
以上是Java 迭代映射的詳細內容。更多資訊請關注PHP中文網其他相關文章!