Допустим, у меня есть такой объект:
public class Customer {
private Integer id;
private String country;
private Integer customerId;
private String name;
private String surname;
private Date dateOfBirth;
}
и у меня есть List<Customer>
. Я хотел бы разделить такой список на потоки Java, чтобы получить список идентификаторов List<Integer>
, стран List<String>
, customerIds List<Integer>
et c.
Я знаю, что мог бы сделать это так же просто, как сделать 6 потоков, таких как:
List<Integer> idsList = customerList.stream()
.map(Customer::getId)
.collect(Collectors.toList());
, но делать это так часто, что у меня есть поля, кажется довольно скучным. Я думал о собственном Collector, но не смог придумать что-нибудь полезное, что было бы одновременно аккуратно и эффективно.