在java8map中使用函数

在java8map中使用函数,java,java-8,Java,Java 8,是否有一种与Java8相当的方法来编写以下内容 List<Foo> results = new ArrayList<>(); for (RowResult row : rows) { results.add(rowToFooFunction(classroomLookup.get(row.getId()), studentLookup.get(row.getId())).apply(row)); } 问题是,在映射步骤中,我需要根据我正在迭代的行的id查找学生/教

是否有一种与Java8相当的方法来编写以下内容

List<Foo> results = new ArrayList<>();
for (RowResult row : rows) {
   results.add(rowToFooFunction(classroomLookup.get(row.getId()), studentLookup.get(row.getId())).apply(row));
}

问题是,在映射步骤中,我需要根据我正在迭代的行的id查找学生/教室。

您自己几乎已经找到了解决方案,非常接近:

List<Foo> results = rows.stream().map(row ->
  rowToFooFunction(classroomLookup.get(row.getId()), studentLookup.get(row.getId())).apply(row))
).collect(Collectors.toList());
List results=rows.stream().map(row->
rowtoof函数(classroomLookup.get(row.getId()),studentLookup.get(row.getId()).apply(row))
).collect(Collectors.toList());

@SotiriosDelimanolis对不起,什么?
List<Foo> results = rows.stream().map(row ->
  rowToFooFunction(classroomLookup.get(row.getId()), studentLookup.get(row.getId())).apply(row))
).collect(Collectors.toList());