java - 如何连接两个字符串类型列表以创建列表类型的对象?
问题描述
假设我有一个类事务:
public class Transaction {
private String tId;
private String tStatus;
}
现在我创建另一个类客户:
public class Customer {
private String cId;
private List<Transaction> transaction;
}
现在,如果我得到一个 tIds 的字符串列表和一个单独的 tStatus 字符串列表,我如何合并这两个列表以在 Java 中创建事务类型列表?
解决方案
假设Transaction
有一个来自这两个字符串的构造函数,并且假设列表具有相同的长度,您可以遍历它们并创建一个列表Transactions
:
List<String> tIds = /* probably a method argument? */
List<String> tStatuses = /* probably a method argument? */
if (tIds.size() != tStatuses.size()) {
throw new IllegalArgumentException("list sizes don't match");
}
List<Transaction> result = new ArrayList<>(tIds.size());
for (int i = 0; i < tIds.size(); ++i) {
result.add(new Transaction(tIds.get(i), tStatuses.get(i)));
}
或者,可以说更优雅,使用流而不是循环:
List<Transaction> result =
IntStream.range(0, tIds.size())
.mapToObj(i -> new Transaction(tIds.get(i), tStatuses.get(i)))
.collect(Collectors.toList());
推荐阅读
- c# - 在除最后一个之外的所有值都符合条件之后,如何使我的代码输出逗号
- java - 发送kafka字符串消息java以在其他java上启动程序
- amazon-quicksight - 将 AWS QuickSight 分析复制到另一个账户
- android - MediaCodec 视频创建太快
- aws-lambda - 使用 aws sam local 访问写入 /tmp 的文件
- assembly - 通过堆栈推送和弹出相同的寄存器
- sql - 为什么这个简单的 SQL 代码在 Azure Databricks 中不起作用?
- reactjs - 反应在表格中导入选定的值
- java - 充气城堡 PGPObjectFactory nextObject 返回 null
- python - 如何在获取帧时减少 CPU 使用率