当前位置: 首页 > 知识库问答 >
问题:

在java8中迭代嵌套对象[关闭]

查学文
2023-03-14

我是java8的新手。
我有以下课程。

class User {
  List<Vehicle> vehicle;
  private int vehiclecount;

  public List<Vehicle> getVehicle() {
        return vehicle;
  }
}

class Vehicle{
  String vehiclename;
  String vehiclecolor;
}

我能够保存这个在mongo收集:

{ "_id" : ObjectId("59ca1e53a1a79607fcc9200f"), "_class" : "com.test.User", 
   "vechicle" : [ { "vehiclename" : "Car", "vehiclecolor" : "Blue" } ], 
   "count" : 1, "createdDate" : ISODate("2017-09-26T09:30:59.826Z") } 

现在,我得出了基于spring mongo数据存储库的结果。我想迭代上面的mongo集合,这样我只能得到我尝试过的以下车辆列表:

List<Vehicle> vehicle = result.stream().filter(vehicles->vehicles.getVehicle().stream().collect(Collectors.toList());

请帮助我了解java8。提前谢谢

共有1个答案

姜锋
2023-03-14

如果我理解正确的话:

List<Vehicle> vehicles = 
    result.stream()
       .flatMap(user -> user.getVehicle().stream())
       .collect(Collectors.toList());
 类似资料:
  • mapMap.map(i => i * 30); const mapReduce = Immutable.Map({ a: 10, b: 20, c: 30 });

  • 在Java8流中,允许我修改/更新内部的对象吗?为。:

  • 问题内容: 我正在使用有角JS及其示例之一:http : //jsfiddle.net/furf/EJGHX/ 在发送更新功能之前,我需要获取数据并向其中添加一些值。(如果用angular而不是js更好,请告诉我) 我正在尝试获取“父代”和“索引”并更新子代。 这是我正在遍历的数据 这就是我目前正在遍历的方式,但是它只能得到第一个维度 我在另一个小提琴上找到了这个,但我不知道该如何抓取父对象或索引

  • 假设我有一个包含集合的对象,所述集合上的每个元素都包含一个集合,每个集合都包含一个集合。 我想在最深的对象上迭代,并对其应用相同的代码。 命令式的方法是微不足道的,但有没有一种方法来完成这一切? 我可以看到如何从最深的循环中生成lambda: 但我能做得更多吗?