Is it possible to instantiate ArrayList dynamically in java?

1

For example, if I need to create arraylists for each person who registers on my system:

ArrayList pessoa1 ArrayList();
ArrayList pessoa2 ArrayList();
ArrayList pessoa3 ArrayList();

The problem is that I do not know how many people are going to register so it would have to be created dynamically, type:

for(int i = 0; i < numeroPessoasCadastradas; i++){
    pessoa[i] = new ArrayList();
}

Is it possible to do something like this?

    
asked by anonymous 27.03.2017 / 01:53

1 answer

1

It is possible, but in the way you wrote, pessoa[] is only a Array , and Arrays do not grow dynamically as you would like:

import java.util.ArrayList;

public class MeuPequenoArray {

    public static void main(String[] args) {

        int numeroPessoasCadastradas = 12345; // tamanho fixo
        ArrayList[] pessoa = new ArrayList[numeroPessoasCadastradas];

        for (int i = 0; i < numeroPessoasCadastradas; i++) {
            pessoa[i] = new ArrayList();
        }
    }
}

A possible solution is to create a List of ArrayLists - or a ArrayList of ArrayLists :

import java.util.ArrayList;

public class MeuEnormeArrayList {

    public static void main(String[] args) {

        int numeroPessoasCadastradas = 12; // esse número não importa mais
        ArrayList<ArrayList> pessoa = new ArrayList<ArrayList>();

        for(int i = 0; i < numeroPessoasCadastradas; i++){
            pessoa.add(new ArrayList<>());
        }
    }   
}
    
27.03.2017 / 22:31