java - Java 流图用计数器创建对象
问题描述
我是 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)
推荐阅读
- postgresql - 删除 Postgresql 中的重复条目
- python-3.x - 相应的 api 调用后,数据库中不存在对象
- java - 如何使用 Java 库将标记的 YAML 对象转换为 JSON 对象?
- woocommerce - PayPal WooCommerce 使用一个 PayPal 帐户连接多个网站
- amazon-web-services - 如何在 AWS S3 网站 CloudFront 中设置别名重定向?
- matlab - 使用 fmincon 函数的最优控制问题
- python - 如何从 Python3 的列表中调用我自己的方法?
- c# - ODBC调用存储过程
- javascript - 如何让 webpack-dev-server 获取最新的更改
- swift - 标签栏自定义按钮图像不显示