Предполагая, что 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)));
}
Или возможно более элегантно, используйте поток вместо al oop:
List<Transaction> result =
IntStream.range(0, tIds.size())
.mapToObj(i -> new Transaction(tIds.get(i), tStatuses.get(i)))
.collect(Collectors.toList());