If I understand you correctly, you are trying to write a method that gets all the fighters that have any of the initials in a String, and the same Combat style, and you want to remove those from the barracks and return them as a new list?
If so, why not get rid of all those Lists and just use an iterator:
private List<Fighter> callFighters(String initial, Combat combat) {
String upperCaseInitial = initial.toUpperCase();
List<Fighter> calledFighters = new ArrayList<>();
for (Iterator<Fighter> fighterIterator = barracks.iterator(); fighterIterator.hasNext();) {
Fighter fighter = fighterIterator.next();
if (upperCaseInitial.contains(Character.toString(fighter.getInitial())) && fighter.getCombatStyle() == combat) {
calledFighters.add(fighter);
fighterIterator.remove();
}
}
return calledFighters;
}