このネストされたforループを避け、java8のより良い技術で置き換えたいと思います。私はjava8のストリームについて読んでいますが、この特定のコードでは、どのようにしてjava8ストリームなどを使用してコードを改善し、主にネストされたループを避けることができますか?Javaを使用したネストされたforループでのコード置換の改善8
List<Country> countryList=new ArrayList<Country>();
List<CountryDTO> countryDtoList=new ArrayList<CountryDTO>();
List<CityDTO> cityDtoList=new ArrayList<CityDTO>();
countryList.forEach(country->{
CountryDTO countryDto=new CountryDTO();
countryDto.setCountryId(country.getCountryId());
countryDto.setCountryName(country.getCountryName());
countryDto.setCapital(country.getCapital());
List<City> cityList=new ArrayList<City>();
cityList=cityRepository.getCitiesForCountry(country.getCountryId());
cityList.forEach(city->{
CityDTO cityDto=new CityDTO();
cityDto.setCityId(city.getCityId());
cityDto.setCityName(city.getCityName());
cityDtoList.add(cityDto);
});
countryDto.setCities(cityDtoList);
});
forEach' ...私は ''強化ループfor'によってforEach'置き換えると思います。このhttps://docs.oracle.com/javase/tutorial/collections/streams/ – Tunaki
を通過します '使用しないでください。 。ネストされた 'for'ループには何も問題ありません。 –
コンストラクタの使用を検討します。これにより、コードがはるかに洗練され、マッピングを簡単に使用できるようになります。 –