首頁  >  文章  >  Java  >  Java 迭代映射

Java 迭代映射

王林
王林原創
2024-08-30 16:07:50809瀏覽

Iterate Map 正在從 Map 集合中提取一堆資料。在大多數即時情況下,我們在地圖上儲存了大量資料。開發者想要取得這些數據;他必須迭代整個地圖。地圖儲存在 util.Map 套件中。在本主題中,我們將學習 Java Iterate Map。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

您可以用 3 種方式迭代地圖。

  • 對每個
  • 普通 for 迴圈
  • 使用迭代器循環時

什麼是地圖?

1. Map是一個鍵值對的結構化集合。地圖是一個介面。因此,Map 實作為

  • 雜湊映射
  • LinkedHashMap
  • 樹狀圖

2. Entry是Map的子介面。因此,可以透過條目名稱來存取它。它傳回了地圖的集合視圖。地圖。該條目提供了獲取鍵值對的方法。

重要方法

  • put(Object keyValue, Object objectValue): 它將一些值插入到映射中。
  • keySet(): 用來取得金鑰對集。
  • entrySet(): 用來設定地圖的鍵和值。
  • size(): 用來取得地圖大小。
  • getKey():用來取得鍵值。
  • getValue():用來取得鍵映射值。

Map 中的迭代是如何運作的?

如上所述,Map 可以使用 forEach、普通 for 和 while 迴圈進行迭代。我們將透過語法來理解它。

1.對於每個

文法:

Map<DataType, DataType>map = new HashMap<DataType, DataType>();
map.forEach((key, value) -> //logic

2.對於 with EntrySet()

文法:

Map<DataType,DataType> map= new HashMap<DataType,DataType>();
for (Map.Entry<DataType,DataType> set: map.entrySet())
//logic
}

3.帶迭代器的 While 迴圈

文法:

Map<String, String> mapObj = new HashMap<>();
Iterator iterator= mapObj .entrySet().iterator();
while (iterator.hasNext()) {
//logic
}

根據需求,我們可以透過以上任何一種方式迭代地圖。

Java 迭代映射範例

以下是範例:

1.使用 forEach 進行映射迭代範例

代碼:

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);
});
}
}

輸出:

Java 迭代映射

說明:

正如您在上面的程式碼中看到的,我們使用 forEach 迭代了地圖

2.使用 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);
});
}
}

輸出:

Java 迭代映射

說明:

如您在上面的輸出中所看到的,我們也可以使用 forEach 迴圈分別取得鍵和值。

3.使用 for 迴圈進行映射迭代範例

代碼:

<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());
}
}

輸出:

Java 迭代映射

說明:

正如您在上面的程式碼中看到的,我們使用 for 迴圈迭代了地圖。

4.使用 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);
}
}

輸出:

Java 迭代映射

說明:

如您在上面的輸出中所看到的,我們也可以使用 for 迴圈分別取得鍵和值。

5.使用 while 迴圈和迭代器進行映射迭代範例

代碼:

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());
}
}
}

輸出:

Java 迭代映射

說明:

正如您在上面的程式碼中看到的,我們使用迭代器和 while 循環迭代了映射。

注意:所有情況都會產生相同的輸出,但建議使用 forEach 迴圈進行開發,因為它的運行時間較短。

結論 – Java 迭代映射

您可以使用 Entry 介面中的 for 迴圈、forEach 迴圈和 while 迴圈來迭代地圖。我們也可以分別迭代鍵和值,不會有任何錯誤。

以上是Java 迭代映射的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn