Skip to main content

Arreglos y Matrices

Un arreglo o array es una estructura datos que contiene una colección, lista o matriz de datos de un mismo tipo. Por ejemplo, deseamos guardar los días de los meses del año, sino dependiéramos de los arreglos usaríamos identificadores mes_1 = 31, mes_2=28, …. y así sucesivamente hasta llegar al mes 12.

Los arreglos o arrays (también llamados vectores), nos permiten usar un solo identificador «dias» , «meses» y acceder a los valores por medio de un «índice» meses [0] = 31, meses [1] = 28, … etc.

package com.pe.sectorcode;
/**
 * @Created 18/03/2023
 * @Project java-core
 * @Author Josue
 */
public class ArregloDiasMes
{
    public static void main(String[] args)
    {
        int[] dias = new int[12]; // definimos un array de 12 elementos
        String [] meses = new String[12];

        dias[0]  = 31; meses[0]  = "enero";
        dias[1]  = 28; meses[1]  = "febrero";
        dias[2]  = 31; meses[2]  = "marzo";
        dias[3]  = 30; meses[3]  = "abril";
        dias[4]  = 31; meses[4]  = "mayo";
        dias[5]  = 30; meses[5]  = "junio";
        dias[6]  = 31; meses[6]  = "julio";
        dias[7]  = 31; meses[7]  = "agosto";
        dias[8]  = 30; meses[8]  = "setiembre";
        dias[9]  = 31; meses[9]  = "octubre";
        dias[10] = 30; meses[10] = "noviembre";
        dias[11] = 31; meses[11] = "diciembre";

        System.out.println("El array contiene los siguientes dias del mes:");
        for (int i = 0; i < meses.length; i++) {
            System.out.printf("Los dias para el mes de %s es [%d] %n",
                    meses[i], dias[i] );
        }
    }
}

El resultado luego de la ejecución

El array contiene los siguientes dias del mes:
Los dias para el mes de enero es [31] 
Los dias para el mes de febrero es [28] 
Los dias para el mes de marzo es [31] 
Los dias para el mes de abril es [30] 
Los dias para el mes de mayo es [31] 
Los dias para el mes de junio es [30] 
Los dias para el mes de julio es [31] 
Los dias para el mes de agosto es [31] 
Los dias para el mes de setiembre es [30] 
Los dias para el mes de octubre es [31] 
Los dias para el mes de noviembre es [30] 
Los dias para el mes de diciembre es [31] 

Como se aprecia en el ejemplo en cada uno de los arrays se está seleccionando un tipo de datos especifico, nótese que para inicializar el array se coloca la instrucción new, el tipo y la cantidad de elementos que contendrá.

int[] dias = new int[12];

Otro ejemplo a continuación nos permite analizar y operar los valores que contiene un array.

package com.pe.sectorcode;

/**
 * @Created 18/03/2023
 * @Project java-core
 * @Author Josue
 */
public class ArreglosNumericos
{
  public static void main(String[] args)
  {
    /**
     * Los arreglos se definen como una colección o conjunto de datos de un mismo tipo a la cual se accede por medio
     * de un índice el cual en todas las situaciones inicia en CERO '0'.
     * Por ejemplo si declaramos un array de 10 elementos tenemos de 0 a 9.
     *
     */


    int [] arreglo = new int [10]; // se declaran 10 elementos iniciando en CERO '0'

    arreglo [0]=14;
    arreglo [1]=978;
    arreglo [2]=1132;
    arreglo [3]=27;
    arreglo [4]=8;
    arreglo [5]=150;
    arreglo [6]=411;
    arreglo [7]=87;
    arreglo [8]=41;
    arreglo [9]=78;

    int mayor = arreglo [0]; //inicializamos en la poicion 0 y tomamos el primer valor
    int menor = arreglo [0]; //inicializamos en la poicion 0 y tomamos el primer valor
    double sumatoria = 0;
    double promedio = 0;


    for (int i = 0 ; i<arreglo.length ; i++)
    {
       System.out.printf (" el valor para arreglo [%d] es %d %n", i, arreglo[i]);

       // verificamos el valor que necesitamos para mayor
       if (mayor < arreglo[i]) mayor = arreglo [i];
       else if (menor > arreglo[i]) menor = arreglo [i];

       sumatoria += arreglo[i]; // sumamos
    }

    promedio = sumatoria / arreglo.length;

    System.out.println();
    System.out.printf (" el valor mayor del arreglo es %d %n", mayor);
    System.out.printf (" el valor menor del arreglo es %d %n", menor);
    System.out.printf (" el valor de la sumatoria del arreglo es %.0f %n", sumatoria);
    System.out.printf (" el valor del promedio del arreglo es %.2f %n", promedio);
  }
}
 el valor para arreglo [0] es 14 
 el valor para arreglo [1] es 978 
 el valor para arreglo [2] es 1132 
 el valor para arreglo [3] es 27 
 el valor para arreglo [4] es 8 
 el valor para arreglo [5] es 150 
 el valor para arreglo [6] es 411 
 el valor para arreglo [7] es 87 
 el valor para arreglo [8] es 41 
 el valor para arreglo [9] es 78 

 el valor mayor del arreglo es 1132 
 el valor menor del arreglo es 8 
 el valor de la sumatoria del arreglo es 2926 
 el valor del promedio del arreglo es 292.60 

Una matriz es un arreglo multidimensional y todos sus elementos de un mismo tipo de dato. Un buen ejemplo sería una una hoja llena de cuadriculas o una hoja de tipo excel, que contiene un índice para las filas y otro para las columnas.

Se define una matriz de 3 x 2 que contiene valores enteros

Las matrices se definen como una colección o conjunto de datos de un mismo tipo, a los que se accede por medio de un índice y en todas las situaciones inicia en CERO ‘0’. Por ejemplo, si declaramos un array de 10 elementos tenemos de 0 a 9.

package com.pe.sectorcode;
/**
 * @Created 18/03/2023
 * @Project java-core
 * @Author Josue
 */
public class MatrizEnteros01
{
  public static void main(String[] args)
  {
    /**
     * Las matrices se definen como una colección o conjunto de datos de un
     * mismo tipo, a los que se accede por medio de un índice y en
     * todas las situaciones inicia en CERO '0'.
     * Por ejemplo si declaramos un array de 10 elementos tenemos de 0 a 9.
     */

    int[][] matriz = new int[3][2]; // se declaran 3x2 filas

    matriz[0][0] = 100;
    matriz[1][0] = 540;
    matriz[2][0] = 50;
    matriz[0][1] = 985;
    matriz[1][1] = 741;
    matriz[2][1] = 43;

    //----|----------------|-
    //    |  0        1    |
    //----|----------------|-
    // 0  |  100     985   |
    // 1  |  540     741   |
    // 2  |   50      43   |
    //----|----------------|-

    for (int i = 0; i < 3; i++)
    {
      System.out.println();
      for (int j = 0; j < 2; j++) {
        System.out.printf("%10d ", matriz[i][j]);
      }
    }
  }
}
       100        985 
       540        741 
        50         43 

Ingresa a la siguiente ruta para ver los ejemplos aqui