java8 list<Object> 对象的stream排序,统计问题

对象:

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用的对象名不一致