map使用stream流
时间: 2023-11-09 10:47:34 浏览: 106
怎么在java 8的map中使用stream
使用Stream流对Map进行操作有很多常见的用法,例如过滤、映射、排序等。下面是一些示例代码:
1. 过滤:
假设有一个Map<String, Integer>,我们要过滤出值大于10的元素。
```java
Map<String, Integer> map = new HashMap<>();
// 假设map中已经有一些键值对
Map<String, Integer> filteredMap = map.entrySet()
.stream()
.filter(entry -> entry.getValue() > 10)
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
```
2. 映射:
假设有一个Map<String, List<String>>,我们要将每个列表中的元素转换为大写。
```java
Map<String, List<String>> map = new HashMap<>();
// 假设map中已经有一些键值对
Map<String, List<String>> mappedMap = map.entrySet()
.stream()
.collect(Collectors.toMap(
Map.Entry::getKey,
entry -> entry.getValue().stream()
.map(String::toUpperCase)
.collect(Collectors.toList())
));
```
3. 排序:
假设有一个Map<String, Integer>,我们要按值进行排序。
```java
Map<String, Integer> map = new HashMap<>();
// 假设map中已经有一些键值对
Map<String, Integer> sortedMap = map.entrySet()
.stream()
.sorted(Map.Entry.comparingByValue())
.collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue,
(oldValue, newValue) -> oldValue,
LinkedHashMap::new
));
```
这些只是一些使用Stream流对Map进行操作的示例,你可以根据具体需求进行调整和扩展。
阅读全文