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

Java 迭代映射

王林
王林原创
2024-08-30 16:07:50840浏览

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
上一篇:ThreadGroup in Java下一篇:Java IO