解释下面代码的作用:List<List<xxDO>> List = Map.entrySet().stream().map(e ->e.getValue()).collect(Collectors.toList());
时间: 2024-05-21 08:15:52 浏览: 133
JDK8通过Stream 对List,Map操作和互转的实现
5星 · 资源好评率100%
这段代码的作用是将一个`Map`的所有value值转换成`List<List<xxDO>>`的形式,并存储在一个新的`List`集合中。
具体解释如下:
- `Map.entrySet()`:获取`Map`中所有的键值对,返回一个`Set<Map.Entry<K, V>>`集合。
- `.stream()`:将`Set`集合转换成`Stream`流。
- `.map(e -> e.getValue())`:将`Stream`流中的每一个键值对映射成其对应的`value`值,并返回一个新的`Stream`流。
- `.collect(Collectors.toList())`:将`Stream`流中的元素收集到一个新的`List`集合中,并返回该集合。
因此,最终得到的`List`集合中,每一个元素都是一个`Map`中的`value`值,且每个`value`值都是一个`List<xxDO>`类型的集合。
阅读全文