Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Aumentar array dinamicamente

Olá ! Gostaria de saber se esta pode ser uma forma correta !

class Empresa {

    String nome;
    String cnpj;
    Funcionario[] funcionarios;

    public void adicionar(Funcionario func) {

        if(this.funcionarios == null) {

            this.funcionarios = new Funcionario[1];
            this.funcionarios[0] = func;
            return;

        }

        Funcionario[] funcAux = new Funcionario[funcionarios.length + 1];
        for(int x = 0; x < funcionarios.length; x ++) {
            funcAux[x] = funcionarios[x];
        }
        funcAux[funcAux.length - 1] = func;
        funcionarios = funcAux;

    }

}
1 resposta
solução!

Sim, é uma forma correta!

Voce vai ver que, mais pra frente, as coleções do java fazem esse trabalho de uma maneira mais performatica e elegante, expandindo as arrays internas em saltos maiores, alem de ficar transparente pra voce