Vous êtes sur la page 1sur 10

Matrices y Hashtable

en Java

Prof: Pedro González


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)


Definición de una Matriz
 Ladefinició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]
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} };


Creación de una matriz multidimensional (2D) suma y
diferencia
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]);
}
}
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
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
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.
Hashtable
 El ejemplo siguiente crea una Hashtable para
almacenar información de Libros: