Arrays

Matrizes

Arrays e Matrizes

Matrizes também conhecidas como um array bidimensional nada mais é que a composição de um conjunto de arrays (vetores) determinando assim uma hierarquia de posições e elementos.

Vamos imaginar que precisaremos identificar como foi carregada uma cegonha que transporta veículos conforme imagem ilustrativa abaixo:

String [] [] matrizCegonha = new String[2][2];

// 0 = inferior / 1 = superior
matrizCegonha [0][0] = "Picape Amarela";
matrizCegonha [0][1] = "Picape Vermelha";

matrizCegonha [1][0] = "Hatch Azul";
matrizCegonha [1][1] = "Hatch Verde";

System.out.println("Qual veiculo está na primeira posição da parte superior? " + matrizCegonha[1][0]);
System.out.println("Qual veiculo está na segunda posição da parte inferior? " + matrizCegonha[0][1]);

System.out.println("Quantos veículos existem na parte inferior? " + matrizCegonha[0].length);
// Observe que somente o primeiro nível é obrigatório informar o tamanho
String [][] matrizCegonha = new String[2][];

// 0 = inferior / 1 = superior
String [] vetorPicape = new String[2];
vetorPicape [0] = "Picape Amarela";
vetorPicape [1] = "Picape Vermelha";

String [] vetorHatch = new String[2];
vetorHatch [0] = "Hatch Azul";
vetorHatch [1] = "Hatch Verde";

matrizCegonha [0] = vetorPicape;
matrizCegonha [1] = vetorHatch;

System.out.println("Qual veiculo está na primeira posição da parte superior? " + matrizCegonha[1][0]);
System.out.println("Qual veiculo está na segunda posição da parte inferior? " + matrizCegonha[0][1]);

System.out.println("Quantos veículos existem na parte inferior? " + matrizCegonha[0].length);

Agora que aprendemos como organizar os elementos entre vetores e consequentemente em uma matriz, chegou a hora de listar todos os elementos existentes independente do nível ou estrutura de organização.

for(int m=0; m<matrizCegonha.length; m++){

  for (int v=0; v < matrizCegonha[m].length; v++){

      System.out.println("O Veículo localizado na posição " + m + " x " + v + " é " + matrizCegonha[m][v]);
  }

}
for(String [] vetor: matrizCegonha){

  for(String veiculo: vetor){
      System.out.println("O Veículo localizado sequencialmente é " + veiculo);
  }

}
🏆 Sucesso
Pode parecer que trabalhar com arrays é um tanto quanto engessado, e realmente é. Mas não se apavore é para isso que existem os recursos disponíveis na Collections Framework 😁.