сначала найдите элементы, которые вы хотите удалить через потоковый API:
List<Student> toRemove = arraylist.stream()
.filter(x -> x.getAge() == 26)
.limit(3)
.collect(toList());
, затем удалите из списка источников:
toRemove.forEach(arraylist::remove);
, если вы не хотите изменятьзатем источник сначала клонирует его:
List<Student> resultSet = new ArrayList<>(arraylist);
List<Student> toRemove = arraylist.stream().filter(x -> x.getAge() == 26).limit(3)
.collect(toList());
toRemove.forEach(resultSet::remove);
В конце концов, это может быть лучше реализовано с помощью итератора:
int counter = 0;
for (Iterator<Student> it = arraylist.iterator(); it.hasNext();){
if(counter == 3) break;
Student student = it.next();
if (student.getAge() == 26){
it.remove();
counter++;
}
}