java stream 遍历map
时间: 2023-08-05 16:03:14 浏览: 104
Java Stream可以通过collect方法将List转换为Map。
示例代码如下:
```
List<Person> personList = Arrays.asList(
new Person("Tom", 20),
new Person("Jerry", 25),
new Person("Alice", 30)
);
Map<String, Integer> personMap = personList.stream()
.collect(Collectors.toMap(Person::getName, Person::getAge));
System.out.println(personMap);
```
其中,Person是一个自定义的类,包含name和age两个属性。通过stream的collect方法,使用Collectors.toMap方法将List转换为Map,其中Person::getName和Person::getAge分别是获取name和age属性的方法引用。
输出结果为:
```
{Tom=20, Jerry=25, Alice=30}
```
即将List中的每个Person对象转换为Map中的一个键值对,键为name属性,值为age属性。
相关问题
java8中stream遍历map
在Java 8中,你可以使用Stream来遍历Map。以下是一个示例代码:
```java
import java.util.HashMap;
import java.util.Map;
public class StreamMapExample {
public static void main(String[] args) {
// 创建一个Map对象
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()));
// 使用Stream遍历Map的键
map.keySet().stream()
.forEach(key -> System.out.println("Key: " + key));
// 使用Stream遍历Map的值
map.values().stream()
.forEach(value -> System.out.println("Value: " + value));
}
}
```
上述代码中,我们创建了一个包含键值对的Map对象,并使用Stream来遍历该Map。我们分别使用`entrySet()`方法获取键值对的Set视图,`keySet()`方法获取键的Set视图,以及`values()`方法获取值的集合视图,并使用Stream对它们进行遍历。在遍历过程中,我们使用了Lambda表达式来输出键和值。
java8中stream遍历map value
在Java 8中,你可以使用`Stream`来遍历`Map`的值。下面是一个示例代码:
```java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
map.values().stream().forEach(System.out::println);
}
}
```
在上面的示例中,我们创建了一个`Map`对象并向其添加了几个键值对。然后,我们通过调用`values()`方法获取`Map`的值集合,并将其转换为`Stream`对象。最后,我们使用`forEach()`方法来遍历并打印每个值。
运行上述代码将输出:
```
1
2
3
```
这样,你就可以使用Java 8中的`Stream`来遍历`Map`的值了。
阅读全文