this problem is solved using streams and lambdas in one line of code:
List<Person> beerDrinkers = persons.stream()
.filter(p -> p.getAge() > 16).collect(Collectors.toList());
Use Collection#removeIf to modify the collection in place.
persons.removeIf(p -> p.getAge() <= 16);