Buenas,
Yo no le veo ningun sentido a que mantengas el array de Personas. De esa forma, cuando aniadas o elimines un paciente o medico, deberas sincronizar tambien dicho array.
Para mi lo correcto seria tener los arrays separados de medicos y pacientes y luego, si lo necesitas, ciertos metodos que te permitan calcular una lista inmutable de personas fusionando las dos listas anteriores. Ej:
Código Java:
Ver originalpublic List<Persona> getAllPersonas() {
List<Persona> personas = new ArrayList<>();
personas.addAll(listaMedicos);
personas.addAll(listaPacientes);
}
Un saludo