Я знаю, что обход объектов во вложенных циклах - плохая практика. Я сталкивался с подобной ситуацией, и мне было трудно найти способ избежать вложенных циклов.
У меня есть список предметов. Каждый предмет может иметь несколько мест.
> Item01 -> location01, location02, location03
> Item02 -> Location04, location05
....
Мой код выглядит примерно так
List<Item> itemList = getItemList();
RenderItem renderItem = new RenderItem();
List<RenderItem> renderItemList = new ArrayList<RenderItem>();
for (Item item: itemList){
for (ItemLocation itemLocation : item.getLocations() ){
renderItem = new RenderItem();
renderItem.setItem(item);
renderItem.setLocation(itemLocation);
renderItemList.add(renderItem);
}
}
Мне нужно пройти через все местоположение и создать renderItemList.
Как мне избавиться от вложенных циклов? какие стратегии я должен использовать? Пожалуйста посоветуй. [Примечание: я могу использовать только Java 7]