Criar uma ArrayList 2D em Java

  1. Criar uma 2d ArrayList em Java usando um Array de tamanho fixo
  2. Criar uma ArrayList 2D em Java, criando uma ArrayList de ArrayList

Uma ArrayList é um array dinâmica cujo tamanho pode ser modificado, ao contrário de um array com um tamanho fixo. A sua flexibilidade é a mais apreciada, mas será suficientemente flexível para criar uma ArrayList bidimensional, tal como um array bidimensional? Vamos descobrir.

Neste tutorial, vamos introduzir dois métodos sobre como se pode criar uma ArrayList 2D Java.

Criar uma 2d ArrayList em Java usando um Array de tamanho fixo

Este primeiro método irá criar uma ArrayList chamada arraylist1 com um tamanho de três filas e três colunas. Queremos inserir uma ArrayList de Strings em arraylist1; para tal, criaremos um objecto ArrayList em cada linha e coluna e adicionar-lhe-emos dados.

O exemplo abaixo mostra que arraylist[0][0] é preenchido primeiro, que é a primeira linha, e a primeira coluna de arraylist1; isto continua até a ArrayList estar completamente preenchida. Estamos apenas a adicionar dados à primeira linha aqui, e as duas filas seguintes são nulas, fazendo com que a saída mostre nula.

import java.util.ArrayList;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {

        ArrayList<String>[][] arraylist1 = new ArrayList[3][3];
        arraylist1[0][0] = new ArrayList<String>();
      
        arraylist1[0][0].add("String One");
        arraylist1[0][0].add("String Two");
        arraylist1[0][0].add("String Three");

        arraylist1[0][1] = new ArrayList<String>();
        arraylist1[0][1].add("String One");
        arraylist1[0][1].add("String Two");
        arraylist1[0][1].add("String Three");

        arraylist1[0][2] = new ArrayList<String >();
        arraylist1[0][2].add("String One");
        arraylist1[0][2].add("String Two");
        arraylist1[0][2].add("String Three");

        System.out.println(Arrays.deepToString(arraylist1));

    }
}

Resultado:

[[[String One, String Two, String Three], [String One, String Two, String Three], [String One, String Two, String Three]], 
 [null, null, null], 
 [null, null, null]]

Criar uma ArrayList 2D em Java, criando uma ArrayList de ArrayList

O método seguinte para produzir uma lista 2D em Java é criar uma ArrayList de ArrayLists; ela servirá o nosso propósito, pois será bidimensional. Para inserir uma função innerArraylist dentro da outerArrayList1, podemos inicializar o objecto 2D ArrayList Java para a outerArrayList1.

O próximo e último passo é adicionar os nossos dados à função innerArraylist e depois adicioná-los ao comando outerArrayList. Note que podemos adicionar mais do que um ArrayLists ao comando outerArrayList.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Main {
    public static void main(String[] args) {

        ArrayList<String> innerArraylist;

        innerArraylist = new ArrayList<String>();

        List<ArrayList<String>> outerArrayList = new ArrayList<>();

        innerArraylist.add("String One");
        innerArraylist.add("String Two");
        innerArraylist.add("String Three");


        outerArrayList.add(innerArraylist);

        System.out.println(outerArrayList.toString());

    }
}

Resultado:

[[String One, String Two, String Three]]

Artigo relacionado - Java ArrayList

  • Como ordenar os objetos na ArrayList por data em Java