我有一个对象列表INSERT INTO `wa_list` (exchange, symbol, security_name)
SELECT A.exchange, A.symbol, A.security_name
FROM `wa_research` A WHERE A.waID != 0 AND A.CIK = 0;
List<Car> cars
我希望以简洁的方式将此列表转换为使用make作为键的地图public class Car{
String make;
String model;
String year;
String price;
}
。我可以编写一个函数来做到这一点,但我想知道Java 8中的Lambdas或流API是否提供了一种开箱即用的方式来实现这一点。
我修改了Map<String, List<Car>>
答案 0 :(得分:4)
是的,非常支持。
这样做:
Map<String, List<Car>> youCarMap = yourCarList.stream().collect(
Collectors.groupingBy(Car::getMake,
Collectors.mapping(c->c, Collectors.toList())));
答案 1 :(得分:1)
Map<String, List<Car>> result =
myList.stream()
.collect(Collectors.groupingBy(Car::getMake));
答案 2 :(得分:0)
你可以这样做
cars.stream()
.collect(Collectors.toMap(
car -> car.make,
Function.identity()
)