Categorías: Java

Arreglos Multidimensionales en Java

Anteriormente he hablado sobre lo que es un Arreglo Unidimensional y tambien lo que es un Arreglo de Objetos, pero seguramente has escuchado de los Arreglos Bidimensionales ó Multidimensionales en Java. Para tener una idea clara de esto lo haremos primero con lo que se sabe de momento, armar un arreglo bidimensional con arreglos unidimensionales. Supongamos que necesitamos una tabla en la cual mostremos tres ciudades de cuatro paises:

Para lo anterior tendriamos que usar 4 Arreglos, uno para los paises, y los demas para las ciudades de cada pais, ademas tendriamos que tener especial cuidado al momento de relacionarlos, para tal ejercicio tendremos el siguiente codigo:

 

+ Ver Código Ejemplo...
import javax.swing.JOptionPane;

public class Cuento {
    
    /*lo que se pretende mostrar
    
    *   Argentina   Buenos aires      cordoba       La plata
    *   Colombia    Bogota            Cali          Medellin
    *   Chile       Concepción        Santiago      Valparaiso
    *   Mexico      Ciudad Juárez     León          Monterrey 
    */
public static void main(String args []) {
    
    String paises []= {"Agentina","Colombia","Chile", "Mexico"},     
           CiudadAr[]={"Buenos Aires", "Cordoba", "La Plata"},
           CiudadCo[]={"Bogota", "Cali", "Medellin"},
           CiudadCh[]={"Concepción", "Santiago", "Valparaiso"},
           CiudadMx[]={"Ciudad Juárez", "León", "Monterrey"};
    
    String ax="";
 
    
    for(int i=0; i

 

Cuando lo ejecutemos veremos lo siguiente:

Si, sé que no esta bien ordenado graficamente 🙁 esto se arreglara con mas variables y mas codigo para obtener algo visualmente mas llamativo, pero como es netamente un ejemplo no le he dedicado mas a esto 😉 Analizando el anterior ejemplo encontramos:

CARACTERISTICAS DE UN ARREGLO MULTIDIMENSIONAL

1. Tienen filas y columnas, por lo tanto cuenta con dos indices. Generalmente se maneja el concepto de [Fila][Columna], aunque podria ser tambien [Columna][Fila].
2. La relacion entre valores se da por los indices.
3. Los arreglo unidimensionales se ordenan en fila, en cambio los multidimensionales se pueden acomodar en columnas dadas por lo indices.
4. En el anterior ejemplo usamos 5 arreglos que muestra una tabla o una matriz de 4x4, con los arreglos multidimensionales podriamos usar 1 solo arreglo del mismo tamaño (4x4).
5. El recorrido de filas y columnas se hace por medio de ciclos, esta a nuestra eleccion el primer recorrido que deseemos hacer, podriamos recorrer primero la columna que la fila, o recorrer desde determinado indice [i][j].

La creacion de un arreglo multidimensional tiene la siguiente estructura:

tipo nombrearreglo [][] = new tipo[#Filas][#Columnas];

Teniendo en cuenta que el tipo puede ser int, Float, Double, String, o hasta una clase abstracta. Sabiendo esto, aplicaremos el concepto de arreglo multidimensional al anterior ejemplo de los paises:

 

+ Ver Código Ejemplo...
import javax.swing.JOptionPane;

public class Cuento {
    
    /*lo que se pretende mostrar
    
    *   Argentina   Buenos aires      cordoba       La plata
    *   Colombia    Bogota            Cali          Medellin
    *   Chile       Concepción        Santiago      Valparaiso
    *   Mexico      Ciudad Juárez     León          Monterrey 
    */
public static void main(String args []) {
    
    String [][] arrMulti ={  {"Agentina","Buenos Aires", "Cordoba", "La Plata"},
                             {"Colombia","Bogota", "Cali", "Medellin"},
                             {"Chile","Concepción", "Santiago", "Valparaiso"},
                             {"Mexico","Ciudad Juárez", "León", "Monterrey"},                             
                          };
    
    String ax="";
    
    for(int i=0; i<4; i++){
        for(int j=0; j<4; j++){
           ax+= arrMulti[i][j]+"        ";
        }
        ax+="n";
    }
    
    JOptionPane.showMessageDialog(null, ax);
    
}
}

 

Si comparas el codigo del primer ejemplo con el del segundo ejemplo podras ver que el segundo ya esta ordenado como una tabla, mostrando directamente la relacion entre fila, columna; y no usando un switch para saber que ciudades pertenecen a determinado pais. Algo para tener en cuenta, que asi mismo como se muestra se obtiene, en otras palabras, en lugar de almacenar un valor a mostrar podriamos ingresar datos en el espacio de la siguiente forma:

 

for(int i=0; i<4; i++){
        for(int j=0; j<4; j++){
           arrMulti[i][j] = JOptionPane.showInputDialog("Ingresa el dato: ");
        }
        ax+="n";
    }

Si te ha gustado el post, compártelo, regala un like ó comenta 😉

WP Dev JaGonzalez

Hijo, esposo y padre de un hermoso niño. Amante de los animales, la tecnología, informática y programación. Si tienes alguna duda, inquietud, comentario o deseas comunicarte directamente conmigo, puedes enviarme un correo electrónico a admin@jagonzalez.org

Ver comentarios

  • He encontrado varios sitios web pero no como el tuyo, vas al grano y eso me gusta, sigue así :D Saludos y felicitaciones por tu blog.

    • Puedes poner la respuesta en un TextArea, usando el método .setText() ó .append; usando la variable ax como el string a configurar en los métodos. Espero te haya servido.

  • Oye belial....
    me puede explicar que hace el (+) despues de la variable ax no entiendo exactamente eso
    De ante mano muchas gracias

    • Hola Cristian, es un operador de asignacion el +=, lo que se hace con este operador es agregar a la variable lo que se le indique, esta guardara lo que ya se tenia mas lo que se le dice que se agregue esto en caso de texto (String) cuando se usa con numeros este suma lo que se tenia con un numero nuevo y la suma de lo que se tenia con el nuevo numero es el nuevo valor para esa variable.

Compartir
Publicado por
WP Dev JaGonzalez

Entradas recientes

iPhone Hackeado: Qué Hacer para Proteger tu Dispositivo y Asegurar tu Seguridad

¿Has notado aplicaciones desconocidas o un drenaje inesperado de la batería? Estos podrían ser indicios…

2 meses hace

Cómo Restablecer un iPhone a su Estado de Fábrica

Saber cómo Restablecer un iPhone a su Estado de Fábrica es clave para solucionar problemas…

2 meses hace

Motorola planea lanzar al menos dos nuevos teléfonos Moto G en septiembre

Motorola ha confirmado el lanzamiento de Moto G84 5G y Moto G54 5G en India,…

1 año hace

El equipo de WizardLM afirma que un modelo de IA de terceros les robó el trabajo

Recuerde WizardCoder, ¿el codificador de IA que cubrimos recientemente aquí en Windows Report? Nos jactamos…

1 año hace

Las fallas del complemento Jupiter X Core amenazaron a 172.000 sitios web con apropiaciones de cuentas

Los investigadores han descubierto numerosos fallos de seguridad en el complemento WordPress Jupiter X Core…

1 año hace

Consola portátil Xbox: aquí tienes todo lo que necesitas saber al respecto

Para solucionar problemas del sistema de PC con Windows, necesitará una herramienta dedicada Fortect es…

1 año hace