Estudiante

Páginas: 7 (1531 palabras) Publicado: 15 de diciembre de 2012
COLECCIONES
Para trabajar con colecciones en Java podemos hacer uso del framework Collections. Las clases e interfaces que componen este framework se encuentran en los paquetes java.util y java.util.concurrent. Todas hacen uso del polimorfismo..
La raíz de la jerarquía de colecciones es la interfaz Collection . De entre las interfaces que extienden Collection las más interesantes son List ,Set y Map.
La lista es una de las colecciones más básicas, se trata de una estructura de datos secuencial, en la que cada elemento tiene una posición o índice, y que permite elementos duplicados. Set es la interfaz utilizada para modelar los conjuntos matemáticos; como en estos, los elementos no tienen un orden, y no se permiten elementos duplicados.
Otra estructura de datos es la que define lainterfaz Map, el conocido diccionario o matriz asociativa, en el que cada valor tiene asociado una clave que usaremos para recuperar el elemento, en lugar de un índice como el caso de las listas. Por ejemplo podríamos tener un mapeo en el que las claves fueran los días de la semana y los valores, el número de líneas de código que escribimos.
Para cada una de las interfaces que definen los tiposde colección disponibles tenemos una clase abstracta que contiene la funcionalidad común a varias implementaciones de la interfaz. Estas son AbstractList , AbstractSet y AbstractMap .
LIST
Hay varias clases que implementan la interfaz List . Las más utilizadas habitualmente son ArrayList y Vector. Ambas extienden de AbstractList y tienen una interfaz muy parecida.
La principal diferenciaentre ambas clases es que Vector es sincronizada y ArrayList no sincronizada, lo adecuado es utilizar ArrayList . Tanto ArrayList como Vector utilizan un objeto Array para almacenar los elementos internamente. Las colecciones de tipo Array , sin embargo, tienen un tamaño fijo que se determina de antemano al llamar al constructor. Esto implica que cuando sobrepasamos dicho tamaño hay que crear unnuevo Array y copiar el antiguo, lo que puede ser muy costoso computacionalmente. Por otro lado, si la capacidad máxima inicial del array fuera demasiado grande, estaríamos desperdiciando espacio.
Por defecto ArrayList y Vector utilizan arrays con capacidad para 10 elementos. Para indicar valores que se ajusten lo máximo posible al uso que vamos a hacer de nuestra lista tanto Vector comoArrayList cuentan, además de con un constructor vacío y un constructor al que pasar una colección con los elementos con los que inicializar el vector o la lista, con un constructor al que pasar un entero con la capacidad inicial de la colección.
Vector cuenta también con un constructor extra mediante el que indicar el incremento en capacidad a utilizar cuando el número de elementos rebase lacapacidad del vector, lo cuál puede ser muy interesante.
De entre los métodos comunes a las clases ArrayList , Vector , LinkedList y CopyOnWriteArrayList los más interesantes son los siguientes:
* boolean add(E o): Añade un nuevo elemento al final de la colección.
* boolean add(int index, E element): Añade un nuevo elemento en la posición especificada.
* boolean addAll(Collection<?extends E> c): Añade todos los elementos de la colección especificada a esta colección.
* void clear(): Elimina todos los elementos de la colección.
* boolean contains(Object o): Comprueba si el elemento especificado es parte de la colección.
* E get(int index): Recupera el elemento que se encuentra en la posición espeficicada.
* int indexOf(Object o): Devuelve la primera posiciónen la que se encuentra el elemento especificado en la colección, o -1 si no se encuentra.
* E remove(int index): Elimina el elemento de la posición indicada.
* boolean remove(Object o): Elimina la primera ocurrencia del elemento indicado. Si se encontró y se borró el elemento, devuelve true, en caso contrario, false.
* E set(int index, E element): Reemplaza el elemento que se...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Estudiante
  • Estudiante
  • Estudiante
  • Estudiante
  • El estudiante
  • Estudiante
  • Estudiante
  • Estudiante

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS