Qu es un arreglo? Declaracin de arreglos. Declaracin e inicializacin de arreglos. Copia de arreglos. Acceso a los elementos individuales. Arreglos multidimensionales.
22/03/2006
22/03/2006
Qu es un arreglo?
Un arreglo es una estructura de datos que almacena una coleccin de valores, todos ellos del mismo tipo de datos. Los elementos individuales del arreglo se acceden mediante un ndice de tipo entero.
Declaracin de arreglos
Declaracin:
tipo tipo tipo tipo [] variable; variable[]; [] variable = new tipo[tamao]; variable[] = new tipo[tamao];
Ejemplos
int[] a; double[] b; int[] c = new int[20]; char[] d = new char[64];
22/03/2006 4
22/03/2006
Copia de arreglos
Los arreglos se manejan por referencia:
int [] a = {1, 4, 9, 16, 25}; int [] b = a;
Una vez creado un arreglo no puede se cambiar su tamao (nmero mximo de elementos que permite almacenar).
22/03/2006 5 22/03/2006
Copia de arreglos
Puede utilizarse el mtodo arraycopy() de la clase System para copiar todos los valores de un arreglo en otro:
System.arraycopy( from, fromIndex, to, toIndex, count );
Copia de arreglos
int [] a = {1, 4, 9, 16, 25}; int [] b = {2, 3, 5, 7, 11, 13}; System.arraycopy(a, 1, b, 2, 3);
a 1 4 9 16 25 b 2 3 4 9 16 13
8
Con arraycopy() cada arreglo debe ser una referencia a agregados de datos diferentes.
22/03/2006 7 22/03/2006
22/03/2006
10
Ejercicio # 1
Crea una clase con el nombre EscalaVacaciones que incluya un arreglo de 7 elementos (cada uno conteniendo el nmero de das de vacaciones relativas al ndice del arreglo), de acuerdo a la siguiente tabla: Nm. De aos de empleo Menos de un ao 1, 2 3 aos 45 6 ms aos
22/03/2006
Ejercicio # 1
Utilice un mtodo llamado setEscalaVacaciones, para asignar cada uno de los valores en el arreglo. Utilice un mtodo llamado mostrarDiasVacaciones que acepte un entero (aniosDeServicio) y despliegue el nmero de das de vacaciones que recibir el empleado. Por ejemplo, se se pasa el valor 1 como argumento a mostrarDiasVacaciones, entonces se mostrar el nmero 15. Compile y ejecute el programa con la clase EscalaVacacionesTest proporcionada.
22/03/2006 12
Arreglos multidimensionales
Los arreglos pueden tener ms de una dimensin. Los arreglos multidimensionales usan ms de un ndice para acceder a los elementos individuales del arreglo.
double [][] n = new double[3][4]; int [][] x = {{1,2,3},{4,5,6}}; double [][] m = { {1.0d, 3.1d, 3.25d}, {0.7d, 2.9d, 9.9d}, {1.1d,1.2d,2.2d} };
22/03/2006 13
Arreglos multidimensionales
int [][] a = {{1,2}, {3}, {4,5,6}}; for (int i = 0; i < a.length( ); i++) { for(int j = 0; j < a[i].length( ); j++) { System.out.print( + a[i][j] ); } System.out.println( ); {
22/03/2006
14