You are on page 1of 8
CAPITULO 6 Arreglos, matrices y colecciones En cualquier lenguaje de programacién es posible construir estructuras que almacenen conjuntos de datos. Estas estructuras pueden tener una o mds dimensiones. Las estructuras con una dimensién se denominan arreglos y las estructuras con dos dimensiones se denominan matrices. Hay casos particulares en que se requiere el uso de mds de dos dimensiones, en ese caso, se denominan arreglos multidimensionales. Java ademas incluye en su API clases que proveen servicios para el almacenamiento de objetos denominadas colecciones. 6.1 Arreglos Un arreglo es una estructura que posee un conjunto de datos del mismo tipo. Los arreglos en Java son objetos pero sus elementos pueden ser tipos primitivos de datos o clases. Un arreglo tiene las siguientes caracteristicas: * Nombre. El nombre identifica al arreglo y a través de este, se accede al arreglo para su lectura y escritura de informacién. int [] miarreglo; © Instancia con el operador “new” que permite la asignacién del tamaiio del arreglo. miArreglo = new int [20]; Programacin Orientada a Objetos usando Java Héctor Arturo Flérez Femandez « Es posible realizar los procedimientos anteriores en una sola Ifnea de cédigo. int [] miArreglo = new int [20]; « Se accede a los elementos del arreglo a través de corchetes ccuadrados “[]" indicando la posicién del elemento al cual se desea acceder. La posicién del elemento es denominada indice. El indice | es Oy el final es n-1 donde n es la cantidad de elementos del arreglo. miarreglo[0]=1 « Loselementos de un arreglo se i del tipo de dato. jalizan al valor por defecto « Los arreglos se pueden inicializar con valores entre corchetes “{}" separados por comas. String dias[] = {"lunes”, “martes”, “miércoles”, “jueves”, ‘wiernes”, “sdbado”, “domingo”}; La Figura 3 representa un arreglo en Java: dias [0] lunes dias[1] martes dias [2] miércoles dias [3] jueves dias [4] viernes dias [5] sabado dias[6€] domingo Figura 3. Representacidn de un arreglo en Java 6.1.1 Calculo de promedio en un arreglo Para calcular el promedio en un arreglo, basta con hacer la sumatoria de nimeros del arreglo y dividir en el ndmero de elementos. Arreglos, matrices y colecciones Su implementacién es la siguiente: import java.util.Scanner; public class EjemplosArregios ( public static void main(String] args) { Scanner s = new Scanner (System. in) ; double promedio; double sumatoria=0; int tamano=10; double []arreglo = new double[tamano] ; for(int i=0; i¢tamano; i++) { arreglo[i]=s.nextInt(); , System.out.printin("E1 arreglo original es:"); for(int i=0; i=posFinal) { return -1; Jelsef return busquedaBinaria(arregle,clave,posMitad+1, posFinal) ; Salida estandar El arreglo original ea: oO 5 10 1s 20 25 30 35 40 45 El indice del valor ‘40’ es: 8 6.1.4 Ordenamiento de un arreglo de ndmeros Considerando un arreglo tipo int, es posible ordenarlo utilizando diferentes técnicas que varian en su complejidad de implementacién y de ejecucidn. La técnica mas simple es el ordenamiento de burbuja. El algoritmo de burbuja consiste en evaluar cada elemento por los demdselementos. Paraello, serequiere un indice querecorrael arreglo desde la primera posicién hasta la pendltima. Adicionalmente, se Tequiere un {ndice que recorra el arreglo desde la siguiente posicién del primer indice hasta la ultima posicién del arreglo. Con base en un arreglo denominado A de 5 posiciones y los datos en cada posicién Arregios, matrices y colecciones son: 8, 3, 5, 9, 1, la representacién del ordenamiento mediante el algoritmo de burbuja se presenta en la Figura 4. Tera Terao = TT #4 5 x 1 rs z + iz Ti TATPAGT ese ca verde, once eal Tromcumbie dn tes Iteracion? i=l Ios n TF Ea TARA En ee eso verdes noes ean imrcanbin doe datas Tos eran 8 T = _ = TPA Eee seo wo "AUDA in we os fl Nerachin 6 Iteraciin9 = a a 3 3 i oe os a TAUDPART Eee cso vere, noses eli imarcanbio de os datas a urnciia 5 Lerma fel ces 3 5 z ry 3 Et TPAD Eee css veradaremncessereizn ] | — ARPA Em essa vere ove ali iarcabiod os dan inrcanbio dls dor Pps ss CS Figura 4. Representacién del algoritmo de ordenamiento de burbuja Su implementacién es la siguiente: import java.util.Scanner; public class EjemplosArreglos ( public static void main(Stringl] args) ( Scanner s = new Scanner (System. in); int [larreglo = new int[10]; int indice=0; while (indice<10) { arreglo[indice]=s.nextint 0; y System.out.printin("B1 arreglo original es:"); Programacién Orientada a Objetos usando Java Héctor Arturo Flérez Fernandez for(int iO; iarreglo(4}) ( int temporal=arreglo[i] ; arreglo[i]=arreglo[4]; arreglo[j]=temporal; ) ) System.out.printin("El arreglo ordenado es:”); for(int i-0; i

You might also like