Java流:合并/映射集合

时间:2018-10-16 08:50:18

标签: java java-stream

我上了这个课:

private class Item {
  private String transactionId;
  private String user;
  private LocalDate expiration;
  private String confidential;
  private String locked;
}

另一方面,我有五个收藏集:

List<String> transactions;
List<String> users;
List<LocalDate> expirations;
List<String> confidential;
List<String> lockeds;

所以我需要将每个集合的每个n映射到一个新的Item对象。

有什么想法吗?

1 个答案:

答案 0 :(得分:10)

流式传输索引(假设所有5个列表具有相同数量的元素):

List<Item> items = IntStream.range(0,transactions.size())
                            .mapToObj(i -> new Item(transactions.get(i),
                                                    users.get(i),
                                                    expirations.get(i),
                                                    confidential.get(i),
                                                    lockeds.get(i)))
                            .collect(Collectors.toList());