从 Java 中的双端队列获取映射键列表
Get a list of map keys from a deque in Java
我有一个双端队列
Deque<Map<int, String> cars = new LinkedList();
我想使用 Java 流将双端队列映射中的所有键收集到
List<int>.
有什么办法吗?
我试过
cars.stream().map(car -> car.keySet()).collect(Collectors.toList()
这个问题和上一个问题不一样。我想收集所有键,而不是从双端队列中删除映射。
使用flatMap()
:
cars.stream()
.map(Map::keySet)
.flatMap(Set::stream)
.collect(Collectors.toList())
您可以 flatMap
地图的键:
List<Integer> keys =
cars.stream().flatMap(car -> car.keySet().stream()).collect(Collectors.toList());
我有一个双端队列
Deque<Map<int, String> cars = new LinkedList();
我想使用 Java 流将双端队列映射中的所有键收集到
List<int>.
有什么办法吗?
我试过
cars.stream().map(car -> car.keySet()).collect(Collectors.toList()
这个问题和上一个问题不一样。我想收集所有键,而不是从双端队列中删除映射。
使用flatMap()
:
cars.stream()
.map(Map::keySet)
.flatMap(Set::stream)
.collect(Collectors.toList())
您可以 flatMap
地图的键:
List<Integer> keys =
cars.stream().flatMap(car -> car.keySet().stream()).collect(Collectors.toList());