gpt4 book ai didi

java - 按嵌套列表的元素对列表进行分组

转载 作者:行者123 更新时间:2023-12-04 15:07:15 26 4
gpt4 key购买 nike

<分区>

我有 Car 对象,其参数如下:

private String model;
private BigDecimal price;
private Color color;
private BigDecimal milleage;
private List<String> components;

我创建了 Car 对象列表:

var cars = List.of(
Car.create("FORD", BigDecimal.valueOf(120000), Color.RED, BigDecimal.valueOf(150000),
List.of("AIR CONDITIONING", "VOICE SERVICE")),
Car.create("FORD", BigDecimal.valueOf(160000), Color.RED, BigDecimal.valueOf(150000),
List.of("AIR CONDITIONING", "VOICE SERVICE")),
Car.create("AUDI", BigDecimal.valueOf(200000), Color.BLACK, BigDecimal.valueOf(195000),
List.of("NAVIGATION", "AUTOMATIC GEARBOX")),
Car.create("FIAT", BigDecimal.valueOf(70000), Color.BLUE, BigDecimal.valueOf(85000),
List.of("AIR CONDITIONING", "MANUAL GEARBOX")));

现在我想创建Map<String, List<Car>>其中字符串是组件列表的元素,List<Car>>Car 的列表包含此组件的对象。

我基于一些类似的问题尝试过类似的方法,但真的不知道如何解决这个问题:

static Map<String, List<Car>> carsThatGotComponent(List<Car> cars) {
return cars.stream()
.flatMap(car -> car.getComponents()
.stream()
.map(component -> new AbstractMap.SimpleEntry<>(car, component)))
.collect(Collectors.groupingBy(
Map.Entry::getValue,
Collectors.mapping(Map.Entry::getKey, Map.Entry::getValue)));
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com