Notas
Teoría Java - Colecciones y Mapas
Conteúdo das notas (1)
Página 1
Teoría Java
Colecciones y Mapas de objetos en Java
Interfaz Iterable
Interfaz permite a un objeto
poder ser iterado en un bloque “for-each”. De ella extiende la interfaz más
importante de las colecciones “Collection”.
Interfaz Collection
Interfaz que extiende de Iterable. Una colección
representa un grupo de objetos conocidos como elementos. Algunas colecciones
permiten elementos duplicados y otras no. La JDK no provee una implementación
directa de colección sino que más bien lo hace a través de sub interfaces como lo
son Set o List.
Interfaz “List”
Interfaz que extiende
de Collections. Generada para el manejo de listas con elementos ordenados, repetidos y/o duplicados. Ofrece
métodos para acceder a sus elementos por índice o tomar el control al momento
de su inserción, entre otros.
Implementaciones
Vector
Es una clase que como característica principal
maneja automáticamente el incremento de capacidad de elementos a guardar, la clase.
Dentro de las diferencias que podemos encontrar entre Arrays y Vectores en Java
algunas son:
Defirencia entre Arrays y Vectores:
El vector maneja automáticamente el incremento de su
capacidad de elementos, no siendo así en el array.
El vector dispone de más métodos para el trabajo y
manipulación de sus elementos que el array.
Los arrays al ser tipados, ofrecen una verificación en
tiempo de compilación que no la tiene el vector.
ArrayList
Implementación de List. Se basa en índices. Su índice
comienza en cero. Guarda tantos objetos como queramos sin preocuparnos por
definir su capacidad. Presenta varios constructores. El constructor por defecto ArrayList() inicia con
capacidad cero por defecto. Se puede definir un
tamaño.
Extiende de AbstractList.
LinkedList
Implementa List entre
otras y extiende de
AbstractSequencialList una subclase de AbstractList.
Maneja listas vinculadas. Acceso secuencial (la lista se recorre
de inicio a fin). Menos eficiente en la búsqueda que ArrayList. LinkedList no está
sincronizada, su sincronización debe hacerse por fuera.
Interfaz Set
Sirven para acceder a
una colección sin elementos repetidos. Sus elementos se encuentran
desordenados. Puede ser ordenada o no. No declara ningún método adicional a los de Collection.
Interfaz SortedSet
Extiende de la
interfaz Set. Sus elementos se
ordenan usando el orden natural o mediante comparator. Implementa métodos
adicionales en su interfaz como el caso de comparator(), first() y last() entre
otros.
Implementaciones
HashSet
Esta clase Implementa
Set y extiende de AbstractSet. Basada en hash table. Solo permite elementos distintos. No se respeta el orden de
inserción. El tamaño del
conjunto es adaptable dinámicamente.
TreeSet
Implementa SortedSet. Se basa en un TreeMap (Arbol binario). Sus
elementos son ordenados usando el orden natural de los objetos (El orden
natural lo define el método int compareTo (T o) de la interfaz Comparable.
También si lo deseamos podemos optar por pasarle un Comparator a su constructor
con el algoritmo de comparación preferido.
Interfaz Map
Estructura de datos
agrupada en pareja. Clave/Valor. Puede ser considerada
como una tabla de 2 columnas. La clave debe ser única
y se emplea para acceder al valor
Map es una interfaz
raíz y no deriva de ninguna. La interfaz provee 3 vistas de sus colecciones,
permite ver sus claves como una colección Set, sus valores como una Collection
o sus Clave/Valor como Set, para ello usaríamos el método
Set> entrySet(). El orden del mapa es definido sobre
la lista resultante que el iterador devuelve como colección.
Interfaz SortedMap
SortedMap extiende de
Map e implementa métodos similares a SortedSet. Provee métodos de ordenamiento
de sus claves.
Implementaciones
HashMap
Implementa Map y extiende
de AbstractMap. No permite claves duplicadas (El valor
se solapa). Permite
valores nulos y clave nula. No garantiza orden de elementos. No presenta sincronización multi hilo.
HashTable
Implementa Map y
extiende de Dictionary. Dispone
de sincronización
multi-hilo. No permite claves o valores null.
El objeto usado como clave debe implementar los métodos hashCode e equals.
TreeMap
Implementa NavigableMap(Subinterfaz
de SortedMap) y extiende de AbstractMap. Ordena sus
claves mediante el orden natural o por medio de un comparator. No es una implementación
sincronizada
Informações
- Descrição
- Lo básico de Colecciones y Mapas en Java
- Criado por
- Claudio A.
- Visualizações
- 100
- Tags
- Avaliação