对象:
public class car{
private String name;
private String category;
private String num;
}
List<Car> carList = new ArrayList<>();
Car car = new Car();
car.setName("宝马");
car.setCategory("越野");
car.setNum("3");
carlList.add(car);
Car car1 = new Car();
car.setName("宝马");
car.setCategory("轿车");
car.setNum("2");
carlList.add(car1);
Car car2 = new Car();
car.setName("奥迪");
car.setCategory("越野");
car.setNum("5");
carlList.add(car2);
Car car3 = new Car();
car.setName("奥迪");
car.setCategory("跑车");
car.setNum("1");
carlList.add(car3);
如上面所示数据,现在想实现最终结果是 一个新的List对象,[
```
{
"品牌" : "奥迪",
"越野":"5",
"轿车":"0",
"跑车":"1"
},
{
"品牌" : "宝马",
"越野":"3",
"轿车":"2",
"跑车":"0"
}
```]
想请教一下, 使用stream方法的话怎么处理,
你创建的对象从第二个开始都没有用,一直用的都是car.xxx,而没有使用car2.xx或者 car3.xxx,至于归类,你可以根据品牌进行分组,参考一下这个案例
把数据放到list集合里面,fastjon返回集合的值。
看你的描述应该是按照数量排序,直接贴排序代码:
List<Car> carSorted = carList.stream().sorted(Comparator.comparing(Car::getNum).reversed()).collect(Collectors.toList());
另外附上代码中的其他错误:
1、new Car()的对象设属性值时对应的对象名不对;
2、list对象名与add用的对象名不一致