我想爲下面的實現使用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