我对 Java 及其流功能不熟悉。如何使用流而不是循环来实现此循环功能:
List<PackageData> packages = new ArrayList<>();
for(int i = 0; i < 100; i++) {
PackageData packageData = ImmutablePackageData.builder()
.withPackageGroup("ConstantString")
.withPackageType("ConstantString")
.withTrackingId("ConstantString" + i.toString())
.withLocationId("ConstantString" + i.toString())
.build();
packages.add(packageData);
}
最佳答案
您可以利用IntStream
;
List<PackageData> packages = IntStream.range(0, 100)
.mapToObj(i -> ImmutablePackageData.builder()
.withPackageGroup("ConstantString")
.withPackageType("ConstantString")
.withTrackingId("ConstantString" + i)
.withLocationId("ConstantString" + i)
.build())
.collect(Collectors.toList())
因为您的流只依赖于一系列整数[0, 100)
关于Java流图用计数器创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57048667/