HashSet vs. ArrayList

Así que tengo una clase de clase personalizada que tendrá un conjunto de otros estudiantes de clase personalizada. Así se verá algo como esto:

public class Class {
    private Set<Student> students;

    // other methods
}

Ahora agregaré y eliminaré muchos estudiantes al conjunto de alumnos y también cambiaré muchos de los campos privados de un alumno que ya se encuentran en el conjunto de alumnos.

PREGUNTA: ¿Qué estructura de datos debo usar para implementar esto mejor? Dado que cambiaré la propiedad de los objetos de Estudiante en el conjunto de estudiantes (cambiando así los códigos hash), ¿debería usar una ArrayList en su lugar?

Respuestas a la pregunta(9)

Su respuesta a la pregunta