Array de varios tipos de datos en Java

Un array de varios tipos de datos puede resultar muy útil en algunas ocasiones, imagina un vector o matriz con una cadena, un entero y un objeto de otro tipo, pues esto es posible en Java fácilmente.

Los vectores o matrices son colecciones de datos de tamaño fijo que almacenan datos del mismo tipo. Aunque normalmente los datos deban ser del mismo tipo existe una forma para almacenar varios datos de distinto tipo en un array unidimensional (vector) o bidimensional(matriz).

 

 

Crear un array de varios tipos de datos en Java es muy sencillo de hacer con el tipo de dato Object. Solo hay que crear el array con su longitud como con cualquier vector o matriz, la única particularidad es a la de recuperar datos, ya que, hay que realizar un casteo. Esto se hace porque como se pueden almacenar elementos de varios tipos no sabemos a qué tipo nos referimos sin hacer el casting. 

En el caso de que queramos recuperar un valor y no sea del tipo de dato correcto se producirá un error en tiempo de ejecución. Por ejemplo, sí tenemos una variable entera y almacenamos en ella el valor de una posición del vector de tipo String nos dará un error al ejecutar el programa.

Hemos visto que crear un array de varios tipos de datos es sencillo, pero este objeto también se puede usar para combinar varios tipos de datos en otras estructuras de datos como las colas o listas, consiguiendo así poder almacenar en ellas elementos de distintos tipos de datos.

El código de ejemplo utilizado en el video es el siguiente:

public static void main(String[] args) {
    Object vector[] = new Object[4];
    Object matriz[][] = new Object[2][2];

    vector[0] = "Cadena";
    vector[1] = 4;
    vector[2] = 3.12341;

    matriz[0][0] = 'h';
    matriz[1][1] = 2;

    mostrarVector(vector);
    mostrarMatriz(matriz);

    //Ejemplo de recuperacion de valores
    int n = (int) vector[1];
    String s = (String) vector[0];

}

Imprimir Vector en Java

El método que se utiliza para imprimir los elementos del vector creado es el siguiente:

public static void mostrarVector(Object[] v) {
    for (int i = 0; i < v.length; i++) {
        System.out.println(v[i]);
    }
}

Imprimir Matriz en Java

Para imprimir la matriz por pantalla utilizamos otro método distinto, ya que, tenemos dos dimensiones (filas y columnas). El método se muestra a continuación:

public static void mostrarMatriz(Object[][] m) {
    for (int i = 0; i < m.length; i++) {//filas
        for (int j = 0; j < m[i].length; j++) {//columnas
            System.out.print(m[i][j] + " ");
        }
        System.out.println();
    }
}

curso programación en java

 

Deja un comentario