Sesin 5: COLECCIONES
PROGRAMACION ORIENTADA A OBJETOS
Escuela de Ingeniera de Sistemas UCV Lima Norte
POO
Array
Un array es una coleccin ordenada de elementos del mismo
tipo, accesibles a travs de un ndice. Un array puede contener datos primitivos o referencias a objetos. DECLARACION [modificadores] [modificadores] Por ejemplo:
int [ ] a;
tipo_variable [ ] nombre; tipo_variable nombre [ ];
String [ ] nombres long [ ] millones
La declaracin dice que a es un array de enteros/cadenas o enteros largos . Es decir a es una referencia a una coleccin de datos, POO Aunque todava no se sabe cuantos elementos tiene el array.
Ejemplo:
double [ ] velocidades; double velocidades[ ]; //crear un arreglo de tamao 12 velocidades = new double[12];
Formas de declarar un array
//Declaracin y asignacin double [ ] velocidades=new velocidades[12];
velocidades
5 6
8 9 10 11
POO
Asignacin del tamao del arreglo al inicio de la ejecucin:
POO
Trabajando con Array
Declarar el array --- String [ ] productos Crear el array ------- productos = new String[5] Inicializar los elementos del array Usar el array
Ejemplo: int [ ] numeros; //Declarar un array numeros=new int[5]; //Crear un array de 5 elementos
//Declaracin y creacin del array en un sola lnea //En el momento de la creacin del array se dimensiona el //mismo y se reserva la memoria necesaria.
String [ ] productos=new String [ 5 ];
//Tambin puede crearse de forma explcita asignando valores a todos los //elementos del array en el momento de la declaracin, de la siguiente //forma:
int [ ] numeros = { 5 , 43 , 2, 18, 35 };
POO
//Inicializar valores al array for (i=0; i< numeros.length ; i++) { numeros[i]=i*i;//se llena del cuadrado de los ndices } //Inicializar valores al array con nmeros aleatorios int numrandom; for (i=0; i< numeros.length ; i++) { //se llena de valores aleatorios. numrandom=(int) (Math.random()*20+1); numeros[i]=numrandom; }
POO
Array de objetos
Ejemplo: Persona [ ] p; Persona p[ ]; p un array de objetos de tipo Persona p es una referencia a una coleccin de referencias que apuntarn a objetos de la clase Persona.
POO
Array de Objetos
El uso ms comn de los Arrays es para organizar la informacin de objetos
definidos por el programador. POR EJEMPLO : podemos definir tambin el objeto apropiado para gestionar la informacin de un grupo de alumnos.
POO
POO
Colecciones en Java
Permite almacenar y organizar objetos de manera til para
un acceso eficiente.
Se encuentran en el paquete java.util Ncleo
de abstracciones de colecciones de utilidad (interfaces) e implementaciones ampliamente tiles. interfaces proporcionan mtodos para todas las operaciones comunes y las implementaciones concretas especifican la decisin de las operaciones no permitidas. (java.lang.UnsupportedOperationException)
Las
Sobre los elementos se puede iterar (Iterator)
Jerarqua de colecciones
Iterator
devuelve
Collection
devuelve
Map
devuelve
ListIterator
List
Set
SortedMap
AbstractMap
AbstractCollection AbstractList
SortedSet
TreeMap
HashMap
AbstractSet
extends
HashSet ArrayList AbstractSequentialList class TreeSet implements
interface
LinkedList
La clase ArrayList
La clase ArrayList (java.util) es una objeto lista que implemente la interfaz Collection de java. Esta clase permite contener y ordenar objetos, incluso, puede almacenar objetos duplicados. Su tamao es dinmico, es decir, esta lista crecera a medida que se inserten en ella mas elementos. Debememos recordar que el ndice de un ArrayList empieza en 0, es decir, el POO primer elemento del ArrayList tiene como
ArrayList tiene varios constructores, dependiendo de cmo necesitemos construir el ArrayList . Los siguientes dos constructores nos ayudarn a empezar: ArrayList() construye un ArrayList con capacidad cero por defecto, pero crecer segn le vayamos aadiendo:
ArrayList al = new ArrayList(); ArrayList(int initialCapacity) construye un ArrayList vaco con una capacidad inicial especificada:
ArrayList al2 = new ArrayList(5);
Un objeto ArrayList slo contiene referencias a objetos.
POO
Hay varias clases que implementan la interfaz List<E>. Las ms utilizadas habitualmente son ArrayList<E> y la vieja conocida Vector<E>, que forma parte del framework Collections desde Java 1.2. Ambas extienden de AbstractList<E> y tienen una interfaz muy parecida. Donde E representa es un clase.
POO
POO
POO
POO
POO