Title: CONTENEDORES
1CONTENEDORES
Un contenedor es una clase que en su interior
contiene objetos de un tipo dado. Es decir es una
colección de objetos. Los contenedores están
dentro del paquete java.util
2CONTENEDORES
Extraer objetos de un contenedor no implica
destruir el objeto. Un contenedor puede contener
objetos por valor o por referencia. Contenedor
Contenedor objeto1 objeto1 referencia1
objeto2 objeto2 referencia2
objeto3 objeto3 referencia3
3CLASIFICACIÓN DE LOS CONTENEDORES
1- ORDENADOS NO ORDENADOS 2- CON ELEMENTOS
REPETIDOS SIN ELEMENTOS REPETIDOS 3- SECUENCIA
L (método de acceso) ALEATORIO
4OPERACIONES SOBRE EL CONTENEDOR
5SERVICIOS QUE BRINDA EL CONTENEDOR
- Inserción
- Extracción
- Búsqueda
- Iteración
- Cardinalidad
- Vaciado
- siguiente ( )(para contenedores ordenados)
- anterior ( )
6CONTENEDORES O COLECCIONES EN JAVA
El paquete java.util contiene la definición de
las clases contenedores que posee Java. Para
utilizar estas clases se debe importar el paquete
java.util completo o solo el subpaquete que
interese. Es decir se puede colocar import
java.util.Vector import java.util.
7LA INTERFAZ ENUMERATION
La mayoría de las clases contenedores usan la
interfaz Enumeration para iterar a lo largo de
los elementos de la colección. La interfaz
Enumeration declara dos métodos public abstract
boolean hasMoreElements ( ) devuelve true si la
enumeración contiene más elementos. public
abstract Object nextElement ( ) devuelve el
próximo elemento de la enumeración.
8LA CLASE VECTOR
La clase Vector nos permite tener un array que
puede variar su tamaño de Object. Se pueden
añadir objetos al comienzo, al final o en el
medio y se puede acceder a cualquier elemento del
vector con un indice de array.
9MÉTODOS DE LA CLASE VECTOR
- Hay tres tipos de métodos en Vector
- Métodos para modificar el vector.
- Métodos para examinar valores del vector.
- Métodos que gestionan como crece el vector cuando
se necesita más capacidad.
10MÉTODOS PARA MODIFICAR EL VECTOR
- Todos los métodos que cambian el contenido de un
vector cambian dinámicamente el tamaño del mismo,
a excepción de setElementAt. - public final synchronized void setElementAt(Object
obj, int index) - hace que el elemento situado en index sea obj.
- Lanza IndexOutOfBounds sio se da un índice mayor
que el tamaño actual del vector
11MÉTODOS PARA MODIFICAR EL VECTOR
- public final synchronized void
removeElementAt(int index) - borra el elemento situado en index, los elementos
situados posteriores a index se corren y el
tamaño del vector disminuye en uno. - public final synchronized void insertElementAt(Obj
ect obj, int index) - inserta obj como elemento en la posición index.
Los elementos del vector son desplazados para
dejar sitio.
12MÉTODOS PARA MODIFICAR EL VECTOR
- public final synchronized void addElement(Object
obj) - agrega obj como último elemento del vector.
- public final synchronized void
removeAllElements( ) - elimina todos los elemntos del vector, dejando al
mismo vacío.
13MÉTODOS PARA EXAMINAR EL CONTENIDO DEL VECTOR
- Estos métodos lanzan una exception
IndexOutOfBoundsException si se les da un índice
no válido. - public final synchronized Object elementAt( int
index ) - devuelve el elemento situado en index.
- public final boolean contains( Object obj )
- devuelve true si obj está en vector.
14MÉTODOS PARA EXAMINAR EL CONTENIDO DEL VECTOR
- public final synchronized int indexOf( Object
obj, int index ) - busca la primera aparición de obj, comenzando por
la posición que marca index, y devuelve el índice
que corresponde a obj o -1 si no la encuentra. - public final int indexOf( Object obj)
- equivale a indexOf(obj, 0).
- public final synchronized void copyInto(Object
anArray) - copia los elementos de este vector en el array
especificado.
15MÉTODOS PARA EXAMINAR EL CONTENIDO DEL VECTOR
- public final synchronized int lastIndexOf(
Object obj, int index ) - busca obj hacia atrás, a partir de la posición
index y devuelve el índice correspondiente a obj
o -1 si no lo encuentra. - public final synchronized Object firstElement( )
- devuelve el primer elemento. Lanza la excepcion
NoSuchElementException si el vector está vacío.
16MÉTODOS PARA EXAMINAR EL CONTENIDO DEL VECTOR
public final synchronized Object lastElement( )
devuelve el último elemento. Lanza la excepcion
NoSuchElementException si el vector está
vacío. public final int size( ) devuelve el
número de elementos del vector. public final
boolean isEmpty( ) devuelve true si el vector
está vacío.
17MÉTODOS PARA EXAMINAR EL CONTENIDO DEL VECTOR
Public final synchronized Enumeration elements(
) devuelve un Enumeration para para la lista
actual de elementos.
18MÉTODOS PARA GESTIONAR LA CAPACIDAD DEL VECTOR
Gestionar adecuadamente la capacidad de un vector
afecta su eficiencia. Si se conoce mas o menos
cuántos elementos va a tener el vector es mejor
crearlos con esa cantidad de parámetros y no
hacer crecer el vector cada vez que se le agregan
parámetros. Los parámetros de gestión de la
capacidad se agregan cuando se construye el
vector. Para crear un vector se usan distintos
constructores.
19CONSTRUCTORES DE VECTOR
public Vector( int initialCapacity, int
capacityIncrement) construye un vector vacío con
la capacidad inicial de almacenamiento y el
incremento de capacidad especificado. Un
incremento de capacidad 0 significa duplicar las
capacidades del búfer para crecer. En caso
contrario al búfer se le agregan
capacityIncrement. public Vector( int
initialCapacity) equivale a tener el segundo
parámetro igual a cero.
20CONSTRUCTORES DE VECTOR
public Vector( ) construye un vector vacío con
la capacidad inicial por defecto y un incremento
de capacidad 0. public final int
capacity() devuelve la capacidad actual del
vector. public final synchronized void
ensureCapacity(int minCapacity) garantiza que el
vector tiene como mínimo lacapacidad especificada.
21LA CLASE DICTIONARY
Es una clase abstracta . Define un conjunto de
métodos abstractos para almacenar un elemento
indexado por una clave y recuperarlo usando esa
clave. Cualquier objeto no nulo puede ser usado
como clave y elemento. Dictionary devuelve null
para indicar cosas como que no es capaz de
recuperar determinada clave, de modo que la clave
ni su elemento pueden ser null. Si se proporciona
un argumento null de clave o elemento se obtiene
una excepción NullPointerException
22LOS MÉTODOS DE DICTIONARY
public abstract Object put( Object key, Object
element) pone element en el diccionario bajo
key. Devuelve el elemento antiguo bajo key o null
si no había ninguno. public abstract Object get(
Object key) devuelve el objeto que se asocia con
key o null si key no estaba definido. public
abstract Object remove( Object key) elimina el
elemento asociado con key, retornando dicho
elemento o null si key no estaba definido.
23LOS MÉTODOS DE DICTIONARY
public abstract int size( ) devuelve el número
de elementos definidos en el diccionario. public
abstract boolean isEmpty( ) devuelve true si el
diccionario no contiene ningún elemento.
24LA CLASE HASHTABLE
Una Hashtable es una implementación concreta de
un Dictionary. Se puede utilizar una instancia de
hashtable para almacenar objetos arbitrarios que
están indexados por cualquier otro objeto
arbitrario. La utilización más habitual de una
hashtable es utilizar una String como clave para
almacenar objetos como valores