以下の実装ではJava 8ストリームを使用します。基本的に私は1つのリストを解析し、別のオブジェクトの別のリストを形成したい。ネストされたループを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 City2この式]
、Peter 20 [Street1 City1、Street2 City2]
出力:最大10 Street1 CITY1
、最大10 STREET2 City2この式
、ピーター20 Street1 CITY1
、ピーター20 STREET2 City2この式]ここ
出力:入力:?? –
@Elise van Looij、私はサンプル出力を提供して、私の質問に_最後に入力しました。追加情報が必要な場合はお知らせください。 – Pons