假设我有这样的对象:
public class Customer {
private Integer id;
private String country;
private Integer customerId;
private String name;
private String surname;
private Date dateOfBirth;
}
我有一个 List<Customer>
,我想要使用Java流将其拆分成多个列表,例如id的列表为 List<Integer>
,国家的列表为 List<String>
,客户ID的列表为 List<Integer>
等。
我知道可以通过创建6个流来实现此目的,例如:
List<Integer> idsList = customerList.stream()
.map(Customer::getId)
.collect(Collectors.toList());
但是,这样做很多次,我已经觉得相当乏味了。我在考虑自定义收集器,但我想不出任何有用的东西,既整洁又高效。
forEach
循环添加到相应的列表会是更好的选择。 - Ryuzaki L