我知道如何制作Map<String, Car>
,但如何Map<String, List<Car>>
在 lambdaj 中制作?
这是我想用 LambdaJ 编写的代码:
Map<String, List<Car>> driverCarsMap = new HashMap<String, List<Car>>();
for (Car car : cars)
{
String driver = car.getDriver();
if (!driverCarsMap.containsKey(driver))
driverCarsMap.put(driver, new ArrayList<Car>());
driverCarsMap.get(driver).add(car);
}
不幸的是代码:
Map<String, List<Car>> driverCarsMap = index(cars, on(Car.class).getDriver());
创建地图,但值没有被扩展而是被覆盖。所以,事实上我们确实注意到有一个 List 但只有一个对象。