Como iterar através de um ArrayList de objetos de ArrayList de objetos?

Usando um exemplo:

Digamos que eu tenha uma chamada de classeGun. Eu tenho outra chamada de classeBullet.

ClasseGun tem um ArrayList deBullet.

Para percorrer a Arraylist deGun ..Em vez de fazer isso:

ArrayList<Gun> gunList = new ArrayList<Gun>();
for (int x=0; x<gunList.size(); x++)
    System.out.println(gunList.get(x));

Podemos simplesmente iterar através do ArrayList deGun assim sendo:

for (Gun g: gunList) System.out.println(g); 

Agora, quero iterar e imprimir tudoBullet do meu terceiroGun objeto:

for (int x=0; x<gunList.get(2).getBullet().size(); x++)  //getBullet is just an accessor method to return the arrayList of Bullet 
    System.out.println(gunList.get(2).getBullet().get(x));

Agora minha pergunta é: Em vez de usar o loop for convencional, como imprimo a lista de objetos de pistola usando a iteração ArrayList?

questionAnswers(6)

yourAnswerToTheQuestion