Pelo que entendi do código abaixo ele irá começar da primeira posição do vetor e irá adicionando posição por posição, mas o que ele faz se encontrar um espaço preenchido? Não seria melhor verificar para depois adicionar? Obrigado!
class Empresa {
Funcionario[] empregados;
String cnpj;
int livre = 0;
void adiciona(Funcionario f) {
this.empregados[this.livre] = f;
this.livre++;
}
}