Java 12
Java 12
Generation/
Curso JAVA (Online-Nacional) 3ªEd.
Java Bootcamp
Eduardo Corral Muñoz
[email protected]
Matrices o
Arrays
Índice
_01 Introducción
_02 La clase Arrays
_03 Matrices bidimensionales
_04 Ejercicios
01
Introducción
Que es una matriz/array
Tipo de datos de referencia que contiene diversos elementos
ordenados (colección).
Cada elemento está asociado a un índice y puede contener tanto
tipos primitivos como de referencia, pero todos ellos del mismo
tipo.
El índice que corresponde al primer elemento siempre es 0.
El índice que corresponde al último elemento es el número total
de elementos menos 1 (.length-1).
Se declaran como:
tipo[] nombre = {val1, val2, …, valn};
Los elementos se referencian como:
nombre[indice]
Que es una matriz/array
Para declarar una matriz “vacía” (null) de n elementos:
tipo[] nombre = new tipo[n];
El tamaño queda fijado al declararlo, no se puede cambiar
dinámicamente.
Podemos declarar matrices de un tipo creado por el programador,
por ejemplo “Producto”.
Podemos asignar los valores en la declaración o posteriormente.
Podemos recorrer los elementos de una matriz con:
for(int i = 0; i<matriz.length; i++){…matriz[i]…}
for(tipo var: matriz) {…var…}
while () {…}
do {…} while()
02
La clase Arrays
La clase Arrays
Tenemos que importar la clase: import java.util.Arrays;
Algunos métodos:
Arrays.binarySearch(matriz, clave)
Arrays.sort(matriz)
Arrays.equals(matriz1,matriz2)
Arrays.compare(matriz1,matriz2)
Arrays.compare(matriz1,desde,hasta,matriz2,desde,hasta)
Arrays.mismatch(matriz1,matriz2)
Arrays.mismatch(matriz1,desde,hasta,matriz2,desde,hasta)
Arrays.copyOf(matriz, longitud)
Arrays.copyOfRange(matriz, desde, hasta)
Arrays.fill(matriz, valor)
Api de Java
03
Matices bidimensionales
Que es una matriz/array bidimensional
Podemos definirlo como una matriz de matrices
Cada elemento de la matriz es a su vez una matriz
Se declaran como:
tipo[][] nombre; o tipo nombre[][];
O
tipo[][] nombre = new tipo[filas][columnas];
Los elementos se referencian como:
nombre[indice1][indice2]
Sus dimensiones se obtienen con:
Int filas = nombre.length;
Int columnas = nombre[0].length;
Que es una matriz/array bidimensional
Podemos asignar valores en la declaración:
tipo[][] nombre = {{v00,v01,v01},{v10,v11,v12}}
Podemos asignar valores elemento a elemento:
nombre[fila][columna] = valor;
Se recorren con bucles anidados:
for, foreach, while(?)
for(int i=0; i<nombre.length; i++){
for(int i=0; i<nombre.length; i++){
System.out.println(nombre[i][j]);
}
}
Matriz bidimensional de tamaño variable
La primera dimensión, filas, siempre es fija y no se puede cambiar.
La segunda dimensión si puede variar de una fila a otra
Se declara como:
tipo[][] nombre = new tipo[n filas][];
nombre[0] = new tipo[columas0];
nombre[1] = new tipo[columas1];
…
nombre[n] = new tipo[columasn];
Ejercicios
Ejercicios con matrices unidimensionales
Crear un método que una dos matrices en una sola.
Crear un método que busque un valor dentro de una matriz sin
alterar su orden.
Crear un método que encuentre el valor máximo/mínimo en una
matriz numérica sin alterar su orden y sin usar Array.sort.
Crear un método que encuentre el valor máximo/mínimo en una
matriz numérica sin alterar su orden usando Array.sort.
Crear un método que ordene una matriz numérica en orden
descendente. Sobrecargarlo para que haga lo mismo con una
matriz de String
Crear un método que elimine un elemento de una matriz
Crear un método que añada un elemento a una matriz
Ejercicios con matrices bidimensionales
Crear un método que genere una matriz transpuesta.
Crear un método que sume dos matrices.
Crear un método que calcule el determinante de una matriz
cuadrada.