MATRICES

La siguiente figura muestra la matriz mat[][]  de tamaño 3*5( 3 filas , 5 columnas), donde almacenamos datos de tipo entero.
 
 

 
Las matrices son estructuras ( guardan varios datos ) con las siguientes características:
  1. estructura estática ( se define su tamaño y este no cambia durante la ejecución del programa).
  2. todos los datos que se almacenan en la matriz son del mismo tipo.
  3. para ubicar un dato se requieren dos  subindices ( fila, columna) que indica la posicion del dato.
  4. para recorrer la matriz se requieren dos  ciclos.
 
Matrices en java:

Para java las matrices  son vectores de vectores( vectores que contienen vectores), permitiendonos la construcción de dos tipos de matrices:

1. matrices regulares: en este tipo de matrices  los vectores de todas  las filas  tienen el mismo tamaño, esto se puede ver en la figura siguiente.

figura 1

Si queremos saber el número de filas de la matriz utilizamos mat.length.
Si queremos saber el número de posiciones del vector que esta en la posición i utilizamos mat[i].length.
En nuestro ejemplo tenemos:

mat.length = 3                que es el número de filas de la matriz.
mat[0].length= 5            que es el número de columnas de la fila 0.
mat[1].length= 5           que es el número de columnas de la fila 1.
mat[2].length= 5            que es el número de columnas de la fila 2.


2.matrices irregulares: donde el vector de cada fila puede tener diferente tamaño, esto se puede observar en la figura siguiente.


figura 2.

Si queremos saber el número de filas de la matriz utilizamos mat.length.
Si queremos saber el número de posiciones del vector que esta en la posición i utilizamos mat[i].length.

En nuestro ejemplo tenemos:

mat.length = 3                que es el número de filas de la matriz.
mat[0].length= 5            que es el número de columnas de la fila 0.
mat[1].length= 4           que es el número de columnas de la fila 1.
mat[2].length= 3            que es el número de columnas de la fila 2.
 
Como crear las matrices:

  1. Utilizando el operador new: De esta manera cramos matrices regulares( todas las filas tienen el mismo número de columnas) como la mostrada en la figura 1 y lo podemos hacer de dos maneras:
    1. Declarar  y crear la  matriz en líneas diferentes.  
              
                           public int mat[ ][ ];

      en este paso se indica el modificador de acceso, el  tipo de dato que se va almacenar en la matriz, el nombre que le asignaremos a la matriz seguida de dos pares de corchetes ( [ ][ ]).

                             mat= new int[3][5];

      en este paso se crea la matriz asignandole el tamaño requerido.

    2. Declarar  y crear la  matriz en  la misma línea.
      int mat[ ][ ]= new int[3][5];
  2. sin utilizar el operador new: De esta manera cramos matrices iregulares( las filas pueden tener diferente número de columnas) como la mostrada en la figura 2 .
    public int  mat[ ] [ ]= { {16 ,34,10,34,82},{145,12,1,102},{25,5,14}};
     
    en este caso se crea una matriz con el tamaño adecuado para almacenar todos los datos indicados entre las llaves.

como utilizar los matrices:  
Si queremos asignar un valor  determinado  en una posición específica se debe hacer de la siguiente manera.
mat[1][3]= 10;   
Donde  asignamos el dato 10 en la posición correspondiente a la fila 1 y columna 3 de la matriz llamada mat. es de aclarar que en java las posiciones de las matrices inician desde la pocisión cero  o sea que realmente se guarda el dato en la posición correspondiente a la fila 2 columna 4. a demás si la posición indicada no es valida( no pertenece al rango de la matriz) java lanza una exepción.

 

Si queremos recorrer toda la matriz lo podemos hacer de la siguiente manera:

for(int i =0 ; i< mat.length; i++)
{
      for (int j =0 ; j <mat[ i ].length; j++)
        {
                mat[ i ][ j ]= 5;
        }
}
 

 

 REGRESAR

ċ
jose leon sanchez,
22 de ago. de 2011 20:09
ċ
jose leon sanchez,
22 de ago. de 2011 20:09
ċ
jose leon sanchez,
10 de abr. de 2012 16:32
ċ
jose leon sanchez,
16 de ago. de 2012 17:58
ċ
PruebaMatriz1.java
(7k)
jose leon sanchez,
5 de ago. de 2010 15:53
ċ
PruebaMatriz2.java
(7k)
jose leon sanchez,
5 de ago. de 2010 15:53
ċ
PruebaMatriz3.java
(9k)
jose leon sanchez,
5 de ago. de 2010 15:53
ĉ
jose leon sanchez,
14 de sept. de 2011 6:16
ċ
jose leon sanchez,
12 de ago. de 2013 9:42
Comments