从Java中的deque获取映射键列表

从Java中的deque获取映射键列表,java,dictionary,data-structures,java-stream,deque,Java,Dictionary,Data Structures,Java Stream,Deque,我有一张支票 Deque<Map<int, String> cars = new LinkedList(); 这个问题与上一个问题不同。我想收集所有密钥,而不是从数据块中删除映射。使用flatMap(): 使用flatMap(): 您可以flatMap地图的键: List<Integer> keys = cars.stream().flatMap(car -> car.keySet().stream()).collect(Collectors.toL

我有一张支票

Deque<Map<int, String> cars = new LinkedList();
这个问题与上一个问题不同。我想收集所有密钥,而不是从数据块中删除映射。

使用
flatMap()

使用
flatMap()


您可以
flatMap
地图的键:

List<Integer> keys =
    cars.stream().flatMap(car -> car.keySet().stream()).collect(Collectors.toList());
列出键=
cars.stream().flatMap(car->car.keySet().stream()).collect(collector.toList());

您可以
flatMap
地图的按键:

List<Integer> keys =
    cars.stream().flatMap(car -> car.keySet().stream()).collect(Collectors.toList());
列出键=
cars.stream().flatMap(car->car.keySet().stream()).collect(collector.toList());

您可能指的是
Map
List
LinkedList()
。由于原语不是有效的泛型参数,不应使用原始类型,您可能指的是
Map
List
LinkedList()
。因为原语不是有效的泛型参数,不应该使用原始类型,所以工作非常好。如果我想将列表转换为同一个流中的列表,是否可行?当然,只需添加一个
.map(String::valueOf)
。如果我想将列表转换为同一个流中的列表,可以吗?当然,只需添加一个
.map(String::valueOf)
cars.stream()
    .map(Map::keySet)
    .flatMap(Set::stream)
    .collect(Collectors.toList())
List<Integer> keys =
    cars.stream().flatMap(car -> car.keySet().stream()).collect(Collectors.toList());