2. Concepto de Matrices
En la vida diaria el concepto de “conjunto ordenado de elementos”
tiene una gran importancia.
Las matrices se usarán como contenedores para almacenar datos
relacionados (en vez de declarar como variables separadas cada
uno de los elementos del array).
Las matrices nos permitirán registrar conjuntos de datos, todos
del mismo tipo. Podremos crear matrices de enteros de tipo int o
de reales de tipo float así como matrices de cadenas de caracteres
pero en un mismo array no podremos mezclar datos de distinto
tipo.
Cada elemento de la matriz podrá ser accedido directamente por
el nombre de la matriz seguido de uno o más subíndices enteros,
en función de la dimensión de la matriz, encerrados entre
corchetes (m[0], m[1]...).
El número máximo de dimensiones o de elementos depende de la
memoria disponible (límites establecidos por el compilador)
3. Definición de una Matriz
La definición de una matriz numérica
multidimensional se hace de esta
forma:
tipo[][]...nombrematriz=new tipo[s1][s2]...
tipo no es más que el tipo de elementos
(enteros, reales...)
El número de elementos de la matriz
viene dado por el producto de s1 por s2
(s1 filas, s2 columnas)
Un ejemplo concreto:
int[][]m=new int[2][7]
4. Definición de una Matriz
Podemos inicializar los elementos de
una matriz multidimensional tal y como
hacíamos con vectores:
int matriz[][]={{1, 2, 3 }, { 4, 5,6} };
5. Creación de una matriz multidimensional (2D) suma y
diferencia
6. Método que muestra los elementos de una matriz
multidimensional
public static void mostrarmatriz(double matriz[][])
{
int i,j;
int filas=matriz.length;
int columnas=matriz[0].length;
//recorrido de las filas de una matriz
for(i=0;i<filas;i++)
{
//recorrido de los elementos de una fila
for(j=0;j<columnas;j++)
{
System.out.println(“matriz[“+i”][“+j”]=“+matriz[i][j]);
}
}
7. Matrices de cadenas de caracteres.
Tendremos matrices multidimensionales en
las que cada fila se corresponde con una
cadena de caracteres (cada fila de la matriz
puede estar representada mediante un objeto
String o StringBuffer según lo que hemos
visto hasta ahora).
char[ ][ ]m=new char[2][7]
Tendremos matrices
multidimensionales en las que cada
fila se corresponde con una cadena
de caracteres (cada fila de la matriz
puede estar representada mediante
un objeto String o StringBuffer según
8. Matrices de objetos String.
Java proporciona las clases String y
StringBuffer para hacer de las cadenas de
caracteres objetos con sus atributos
particulares que serán accedidos por los
métodos de sus clases.
Si queremos una matriz que lea una lista de
nombres y los almacene en una matriz de
objetos String. Definimos la matriz de
objetos String:
String[ ][ ]m=new String[filas]
Cada elemento de la matriz es iniciado por
Java con el valor null
(matriz vacía). Leemos las cadenas de
9. Hashtable
Una Hashtable es una implementación
concreta de un Dictionary. Se puede utilizar
una instancia de Hashtable para almacenar
objetos arbitrarios que están indexados por
cualquier otro objeto arbitrario. La utilización
mas habitual de una Hashtable es utilizar una
String como clave para almacenar objetos
como valores.
10. Hashtable
El ejemplo siguiente crea una Hashtable para
almacenar información de Libros: