Tema 8 Arrays
Uso de arrays
Clculos aritmticos sobre matrices Algoritmos de bsqueda Algoritmos de ordenacin
Arrays
Definicin: Un array es una secuencia de objetos o de datos primitivos, todos del mismo tipo, unidos bajo un identificador comn Permiten agrupar informacin relacionada Son de tipo referencia Sinnimos:
Tabla Matriz
Tema 8: Arrays Representacin de Datos y Aplicaciones
Arrays
Cada objeto o dato del array est asignado a un posicin concreta del array, designada por un ndice
ndice 1er elemento = 0
c[0] -7 c[1] 0 c[2] 3 c[3] 8 c[4] 5 c[5] -4 c[6] 6 c[7] 6 c[8] 1 ndice ltimo elemento c[9] 2 = longitud - 1
Declaracin de arrays
Se indica el tipo de los elementos contenidos por el array, seguido por [] y seguido por el nombre identificador del array
los [] tambin pueden ir detrs del nombre int[] enteros; int enteros[]; Punto[] puntos; Punto puntos[]; Los elementos pueden ser de tipo primitivo o de tipo referencia
int[] enteros;
enteros
null
Punto[] puntos;
class Punto { int x; int y; Punto (int x, int y){ this.x = x; this.y = y; } }
Tema 8: Arrays Representacin de Datos y Aplicaciones
puntos
null
Creacin de arrays
Usando new, seguido del nombre del tipo de los elementos del array, seguido por el tamao del array (entre corchetes) nombreArray = new tipo[tamao]; enteros = new int[3]; puntos = new Punto[2];
Creacin de arrays
El tamao del array tiene que indicarse en el momento de su creacin, y no puede cambiarse despus Los elementos se inicializan a cero, false o null en el momento de su creacin Igual que sucede con el resto de objetos, se puede declarar el array y crearlo en la misma sentencia:
int[] enteros = new int[3];
Creacin de arrays
Durante la creacin del array
Se reserva memoria para el atributo length Se reserva memoria para guardar la cantidad de elementos indicada Se asigna la direccin de esa rea de memoria a la referencia del array
Arrays de objetos
Espacio para guardar las referencias a los objetos
Tema 8: Arrays Representacin de Datos y Aplicaciones Natividad Martnez Madrid 10
11
Inicializacin de arrays
Segn el tipo de los elementos:
Variables de tipos primitivos: enteros[0] = 7; Objetos de clases puntos[0] = new Punto(1,2);
12
enteros[0] = 7;
x y
1 2
13
14
15
2. Indexacin
Acceso a los elementos del array a travs de su ndice El ndice siempre tiene un rango entre 0 y N-1 siendo N el tamao del array nombreArray[i]
Tema 8: Arrays Representacin de Datos y Aplicaciones Natividad Martnez Madrid 16
17
18
Copia de arrays
La asignacin del valor de una variable de array a otra slo copiar la referencia
Punto[] puntos2 = puntos;
19
puntos2
x y
1 2
20
10
21
Copia de arrays
Se puede utilizar un bucle:
public class EjemploCopia { public static int[] copia (int[] x1){ int[] x2 = new int[x1.length]; for (int i = 0; i < x1.length; i++) x2[i] = x1[i]; return x2; } public static void main (String[] args){ int[] a1 = {1,2,3,4,5}; int[] a2 = copia(a1); for (int i = 0; i < a2.length; i++) a2[i]++; for (int i = 0; i < a1.length; i++) System.out.println("a1[" + i + "] = " + a1[i] + "; a2[" + i + "] = " + a2[i]); } }
Tema 8: Arrays Representacin de Datos y Aplicaciones
22
11