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中文网其他相关文章!