nvm
This is the problem in my eyes, not only does it look like shit, but its where your mistake lies.
You are looping through every Fighter again for every fighter,, and then checking if removedFighter == 0
If it is == 0, then you are adding 1 to it, making the rest of the loop pointless, as its now equals 1, and it wont add any more fighters to the remove list.
edited
just change to
for(Fighter fgt : tempBarracks){
if(nameInChars.contains(fgt.getInitial()) && fgt.getCombatStyle.equals(combatStyle) && i < nameInChars.size()){
calledFighters.add(new Fighter(nameInChars.get(i), combatStyle));
if(fgt.getInitial() == nameInChars.get(i)){
toRemoveFightersFromBarracks.add(fgt);
}
}
i++;
}