试着通过一个简单的例子来了解Java 8流语法.看看关于这个主题的其他类似问题,但找不到任何与我的例子相符的解决方案,并且对我有用.基本上我正在尝试使用两个嵌套循环重构以下代码段以使用新的流API:
List<Car> filteredCars = new ArrayList<>();
for (Car car : cars) {
for (Wheel wheel : wheels) {
if (car.getColor() == wheel.getColor() &&
wheel.isWorking() == true ) {
filteredCars.add(car);
break;
}
}
}
return filteredCars;
Run Code Online (Sandbox Code Playgroud)
管理得出这个返回void:
return cars.stream().forEach(
car -> wheels.stream()
.filter(wheel -> wheel.getColor() == car.getColor() &&
wheel.isWorking() == true)
.collect(Collectors.toList()));
Run Code Online (Sandbox Code Playgroud)
上面的流语法有什么问题,我错过了什么?
我有一个包含许多字段的 Person 对象列表,我可以轻松地执行以下操作:
list.map(person => person.getName)
Run Code Online (Sandbox Code Playgroud)
为了生成另一个包含所有人民姓名的集合。
如何使用 map 函数创建一个包含 Person 类的所有字段(但不包含其名称)的新集合?
换句话说,如何从给定集合中创建一个新集合,该集合将包含初始集合的所有元素,并删除其中的一些字段?