Trabalhando com vetor

Oi Pessoal,

Estou terminando o meu projeto final da faculdade e uma das transações que estou tentando implementar é a formação de turmas. Já tenho turmas cadastradas no banco e tenho alunos cadastrados também. Agora preciso criar um vetor para que cada turma receba os seus alunos e essas informações sejam gravadas em uma terceira tabela, sendo que não sei se é possível inserir um aluno de cada vez no vetor, nesse caso, esse vetor tem que ficar “aberto” para receber novos alunos a qualquer momento, e ainda tenho que controlar o número de alunos que estão em cada turma.
Alguém pode me ajudar a fazer isso?
:?:

Para um “vetor” aberto, que vc pode adicionar e remover elementos a qualquer hora vc usa alguma colllection do java:

ex:

class Turma {
  List<Aluno> alunos = new ArrayList<Aluno>();
  int qtdeAlunos() {
    return alunos.size();
  }
  void addAluno(Aluno o) {
    alunos.add(o);
  }
  void removeAluno(Aluno o) {
    alunos.remove(o);
  }
}

ps: seria bom se sua classe aluno sobrescrevesse os métodos equals e hashCode de Object