podľa mňa ani jedno nebude robiť to, čo by asi aniy chcel...
javu tak dobre nepoznám, ale v c# by boli problémy...
jednak - nemôžeš zmeniť počet itemov v liste, ktorý práve iteruješ pomocou foreach (ekvivalent pre for(Item item : list))... vyhodí exception...
ani tá vec s for (int i = 0; i<batoh.size(); i++) nie je úplne okay... problém by bol napr. v prípade list {0,1,1,2,3}, ak by si sa pokúsil odstrániť 1... skúste si to prepísať po krokoch... list nie je navonok pole, to si treba uvedomiť... ak zmažem položku v liste, všetky ostatné sa posunú...
toto sú dohady... a hlavne ako by sa to správalo v c#... ale java je veľmi podobné...