stream流对一个map截取
时间: 2023-08-08 18:07:41 浏览: 164
Java8Test.java_java8_almosttog_stream流_
你可以使用Java 8中的Stream API中的filter方法和collect()方法来截取一个Map。例如,以下代码将一个Map中所有value小于10的键值对截取出来:
```
Map<String, Integer> map = new HashMap<>();
map.put("A", 10);
map.put("B", 5);
map.put("C", 8);
map.put("D", 15);
Map<String, Integer> result = map.entrySet().stream()
.filter(entry -> entry.getValue() < 10)
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
```
这将生成一个新的Map,其中只包含原始Map中所有值小于10的键值对。你可以根据自己的需要修改过滤条件和收集器。注意,如果原始Map中有重复的键,你可能需要考虑如何处理这些键值对。
阅读全文