我想为下面的实现使用Java 8流。基本上我想解析一个列表并形成不同对象的另一个列表。如何用Java 8流代替嵌套循环
输入 - 人的POJO列表, 输出 - PersonInfo的POJO列表
List<Person> persons = new ArrayList<Person>();
Person max = new Person();
max.setName("Max");
max.setAge(10);
max.addAddress(new Address("Street1", "City1"));
max.addAddress(new Address("Street2", "City2"));
Person peter = new Person();
peter.setName("Peter");
peter.setAge(20);
peter.addAddress(new Address("Street1", "City1"));
peter.addAddress(new Address("Street2", "City2"));
persons.add(max);
persons.add(peter);
System.out.println("Input: " + persons);
List<PersonInfo> personInfos = new ArrayList<PersonInfo>();
PersonInfo personInfo = null;
for (Person person : persons) {
for (Address addr : person.getCurrAndPrevAddrs()) {
personInfo = new PersonInfo();
personInfo.setName(person.getName());
personInfo.setAge(person.getAge());
personInfo.setAddrs(addr);
personInfos.add(personInfo);
}
}
System.out.println("Output: " + personInfos.toString());
样本输出: 输入:[最大10 [Street1 City1,STREET2城2]
,彼得20 Street1 City1,STREET2城2]]
输出:[最大10 Street1 City1
,最多10 STREET2城2
,彼得20 Street1 City1
,彼得20 STREET2城2]
输出:输入:?? –
@Elise van Looij,我提供了关于我的问题的示例输出和输入。如果您需要更多信息,请告诉我。 – Pons