Sean,
Ваш цикл for содержит следующую строку:
if(studentList.contains("f")){
Но studentList определяется следующим образом:
ArrayList<person> studentList = new ArrayList<>();
Ваше приведенное выше выражение if никогда не должнооцените как true, потому что "f" является строкой, и это не тот же тип, что и содержимое списка.
Предполагая, что person.gender из "f" - это то, что вы пытаетесь отфильтровать,Простейшим изменением вашей программы было бы заменить приведенное выше выражение if на:
if("f".equals(studentList.get(k).gender)){