用java的jdk8特性steam流遍历map
时间: 2023-07-12 20:06:06 浏览: 66
可以使用Java 8的Stream API来遍历Map。以下是一个示例代码:
```java
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 使用Stream遍历Map
map.entrySet().stream()
.forEach(entry -> System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue()));
```
输出结果:
```
Key: A, Value: 1
Key: B, Value: 2
Key: C, Value: 3
```
在这个示例中,我们使用`entrySet()`方法获取Map中的所有键值对,然后使用`stream()`方法将它们转换为一个Stream对象。最后,我们使用`forEach()`方法遍历Stream中的每个元素,并打印出它的键和值。
相关问题
JDK8 遍历map
在 JDK 8 中,可以使用 Lambda 表达式和 Stream API 来遍历 Map。下面是一个示例代码:
```java
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 使用 forEach 方法遍历
map.forEach((key, value) -> System.out.println(key + ":" + value));
// 使用 Stream API 遍历
map.entrySet().stream()
.forEach(entry -> System.out.println(entry.getKey() + ":" + entry.getValue()));
```
以上代码演示了两种遍历方式:
1. 使用 `forEach` 方法直接遍历 Map 的键值对,通过 Lambda 表达式打印出每个键值对的内容。
2. 使用 Stream API 将 Map 的 entrySet 转换为 Stream,然后使用 `forEach` 方法打印出每个 entry 的键值对内容。
这些方法能够在 JDK 8 中方便地遍历 Map,并且通过 Lambda 表达式可以灵活处理每个键值对的操作。
Java jdk8 中如何遍历JSONObject
在 Java 中,我们可以使用 JSON 库来处理 JSON 格式的数据。其中,常用的 JSON 库有 org.json 和 com.alibaba.fastjson 等。
假设我们已经从 JSON 字符串中解析出了一个 JSONObject 对象,那么我们可以使用 JSONObject 的 keys() 方法来获取所有的键值,然后通过 get() 方法获取对应的值,示例如下:
```java
import org.json.*;
public class JsonTest {
public static void main(String[] args) {
String jsonString = "{\"name\":\"张三\",\"age\":20,\"gender\":\"男\"}";
JSONObject jsonObject = new JSONObject(jsonString);
for (String key : jsonObject.keySet()) {
Object value = jsonObject.get(key);
System.out.println(key + " : " + value);
}
}
}
```
在上述代码中,我们通过 keys() 方法获取 JSONObject 中所有的键值,然后使用 get() 方法获取对应的值,并输出到控制台。输出结果如下:
```
name : 张三
gender : 男
age : 20
```
需要注意的是,如果 JSONObject 中存在嵌套的 JSONObject,我们可以通过 getJSONObject() 方法获取对应的对象,然后再进行递归遍历。如果存在 JSONArray,则可以通过 getJSONArray() 方法获取对应的数组,然后使用 for 循环遍历数组中的每个元素。