HashSet vs. ArrayList

Mam więc klasę niestandardową, która będzie miała zestaw kolejnych uczniów klasy niestandardowej. Więc będzie wyglądać mniej więcej tak:

public class Class {
    private Set<Student> students;

    // other methods
}

Teraz będę dodawać i usuwać wielu uczniów do uczniów, a także zmienię wiele prywatnych pól ucznia już w zbiorze uczniów.

PYTANIE: Jakiej struktury danych powinienem użyć, aby najlepiej to wdrożyć? Ponieważ będę zmieniał właściwości obiektów Studentów w ustawionym uczniu (zmieniając w ten sposób hashcodes), czy powinienem zamiast tego użyć ArrayList?

questionAnswers(9)

yourAnswerToTheQuestion