Mapas y Diccionarios
COLECCIONES PARAMETRIZADAS
POR: CHRISTIAN COLLAGUAZO
Universidad de Cuenca
Facultad de Ingeniería
Contenido
- Diccionarios(Dictionary)
- HashTable
-Map
-HashMap
-TreeMap
-Colecciones Parametrizadas
Diccionarios
Un diccionario agrupa elementos mediante claves únicas.
Es una colección cuyos elementos son pares.
Un diccionario es un contenedor asociativos es decir que almacena objetos a esta
asociación se la denomina mapa.
Clave 1 Dato 1
Clave 2 Dato 2
Clave 3 Dato 3
Clase Dictionary
La clase abstracta dictionary es una clase la cual forma parte de Java la cual nos
permite crear diccionarios.
Procesa la información como si fuera un array asociativo (Es un tipo de dato el
cual esta formado por una clave y una colección de valores).
La clave y su valor son de tipo object.
Métodos
Boolean IsEmpty(): Método el cual devuelve true si el diccionario esta vacío o false en
caso contrario.
int size(): Devuelve el numero de elementos en el diccionario.
Enumeration keys(): Devuelve la enumeración de las claves que hay en el diccionario.
Enumeration element(): Devuelve la enumeración de los datos que se encuentran
dentro del diccionario.
Object get(Object clave): Devuelve el elemento asociado con una clave, en caso de no
encontrarla devuelve null.
Object put(Object clave , Object value): Si la clave ya existe en el diccionario esta no se
inserta y se devuelve el valor anterior.
Object remove(Object Kay): Método el cual nos permite borrar una clave y su valor, y
retorna dicho valor asociado a esa clave, en caso no existir devuelve null.
HashTable
Esta clase la cual forma parte de la colección de java extiende de la clase
Dictionary, esta clase nos permitirá agrupar datos asociativos.
Esta clase funciona igual que una tabla Hash, esta nos permite dispersar los
elementos de acuerdo al código que devuelve el método hashCode().
equals(): Este método es muy importante, es el cual nos ayudara al momento
que se necesite hacer búsquedas y comparaciones dentro de la tabla hash.
Constructores de la clase hashTable
public hashTable(): instancia una tabla vacía con una capacidad inicial de 11 y in
factor de carga de 0,75.
public hashTable(int cap): instancia una tabla vacía con una capacidad definida
por el usuario y un factor de carga de 0,75.
public hashTable(Map map): instancia de una nueva tabla con los elementos de
un mapa mandado como parámetro.
public hashTable(int cap , float factorcarga): instancia de una tabla vacía con
capacidad y factor de carga definido por el usuario.
Métodos de la clase hashTable
void putAll(Map map): Inserta todos los elementos de un mapa dentro de una
tabla hash.
boolean containsValue(Object value): Devuelve true si encuentra el valor
dentro de los valores de la tabla hash y retorna false en caso contrario.
boolean containsKey(Object clave): Devuelve true si la clave ingresada esta
dentro de las claves de la tabla hash.
Set keySet(): Devuelve el conjunto de claves de la tabla.
Collection values(): Devuelve una colección con los valores de la tabla.
Set entrySet(): Devuelve el conjunto de elementos de la tabla.
Codificación
Map
Los mapas almacenan información en forma de parejas <clave , valor>
La interfaz map define un comportamiento común entre todas las
implementaciones directas de diccionarios.
AbstracMap: implementa todos los metodos de la
interfaz map, exepto el entrySet() método el cual tiene
que ser implementado en las clases concretas
Métodos de la interfaz Map
Boolean IsEmpty(): Método el cual devuelve true si el mapa esta vacío o false en caso contrario.
int size(): Devuelve el numero de elementos en el mapa.
Object get(Object clave): Devuelve el elemento asociado con una clave, en caso de no encontrarla devuelve null.
Object put(Object clave , Object value): inserta el valor, si la clave ya existe en el mapa esta no se inserta y se
devuelve el valor anterior.
void putAll(Map map): Inserta todos los elementos de un mapa dentro de una mapa.
boolean containsValue(Object value): Devuelve true si encuentra el valor dentro de los valores del y retorna false
en caso contrario.
boolean containsKey(Object clave): Devuelve true si la clave ingresada esta dentro de las claves del mapa.
Set keySet(): Devuelve el conjunto de claves del mapa.
Collection values(): Devuelve una colección con los valores mapa.
Set entrySet(): Devuelve el conjunto de elementos del mapa.
Hashmap
Organiza los elementos en una tabla hash a su ves que proporciona una
eficiencia constante a los métodos de búsqueda e inserción.
En esta clase es posible tener claves con valores null, que a diferencia de la clase
hashTable nos manda una excepción.
Constructores
public hashMap(): instancia un hashMap vacío con una capacidad inicial de 11 y factor de carga
de 0,75.
public hashMap(int cap): instancia un hashMap vacío con una capacidad definida por el usuario
y un factor de carga de 0,75.
public hashMap(Map map): instancia de un hashMap con los elementos de un mapa mandado
como parámetro.
public hashMap(int cap , float factorcarga): instancia de un hashMap vacía con capacidad y
factor de carga definido por el usuario.
Metodo
static int hash(Object x): La clase usa este método para poder obtener una
dirección mas hashCode().
Codificación
TreeMap
Un mapa TreeMap matiene en orden sus elementos para lo que utiliza la estructura árbol
rojinegro.
Este orden se determina por el campo clave.
Implementa la interfaz SortMap la cual declara métodos los cuales son aprovechados para la
ordenación de las claves.
Métodos de la clase TreeMap
SortedMap subMap(Object desde, Object hasta): Devuelve el sub mapa formado por los
elementos cuyas claves estan en el rango de (desde, hasta).
SortedMap headMap(Object hasta): Devuelve el sub mapa formado por los elementos cuyas
claves son menores que hasta.
SortedMap tailMap(Object desde): Devuelve el sub mapa formado por los elementos cuyas
claves son mayores o iguales que desde.
Object firstKey(): Devuelve la primera clave del mapa.
Object lastKey(): Devuelve la ultima clave del mapa.
containsKey() get() remove(): Ademas estas tres funciones heredadas de Map son mas
eficientes, ya que el tiempo de ejecución es logarítmico O(log n)
Codificación
Colecciones Parametrizadas
POR: CHRISTIAN COLLAGUAZO
Universidad de Cuenca
Facultad de Ingeniería
Colecciones Parametrizadas
Las colecciones guardan internamente los elementos en vectores o array de tipo
object.
Para conseguir una máxima generalización ya que la clase object es la clase base
de cualquier tipo objeto en java.
Por lo cual se permite que las colecciones guarden objetos de cualquier tipo.
Salida:
Recuperación de elementos
Al recuperar los elementos es necesario restaurarlos a su tipo inicial.
Colecciones de un mismo tipo
La mayor parte tiempo se usa colecciones con un mismo tipo de datos ej: una
lista de enteros, o de un objeto en especifico, a pesar que dichos objetos
siempre necesitan una conversión a tipo Object.
Desde java 1.5 se amplia la declaración de todas las interfaces y clases y se las
relaciona con las colecciones, la cual nos permite parametrizar el tipo de dato
que van a tener los elementos de una colección.
Esto quiere decir que el compilador comprobara el tipo de datos al realizar
operaciones.
vector<int> i; no se le podrá agregar elementos de tipo String.
Declaración de un tipo parametrizado
Al nombre de la colección le sigue el tipo de elemento entre paréntesis
angulares <tipo>.
Si se parametrizaron 2 o mas tipos se separa por comas.
Codificación
Bibliografía y Enlaces
Joyanes, Aguilar. (2008), Estructura de datos en Java. Madrid, España: Editorial
Mac Gran Hill
Codigo en:
https://github.com/XaviColla/Diccionarios-y-Mapas.git

Mapas y Diccionarios - Colecciones Parametrizadas

  • 1.
    Mapas y Diccionarios COLECCIONESPARAMETRIZADAS POR: CHRISTIAN COLLAGUAZO Universidad de Cuenca Facultad de Ingeniería
  • 2.
  • 3.
    Diccionarios Un diccionario agrupaelementos mediante claves únicas. Es una colección cuyos elementos son pares. Un diccionario es un contenedor asociativos es decir que almacena objetos a esta asociación se la denomina mapa. Clave 1 Dato 1 Clave 2 Dato 2 Clave 3 Dato 3
  • 4.
    Clase Dictionary La claseabstracta dictionary es una clase la cual forma parte de Java la cual nos permite crear diccionarios. Procesa la información como si fuera un array asociativo (Es un tipo de dato el cual esta formado por una clave y una colección de valores). La clave y su valor son de tipo object.
  • 5.
    Métodos Boolean IsEmpty(): Métodoel cual devuelve true si el diccionario esta vacío o false en caso contrario. int size(): Devuelve el numero de elementos en el diccionario. Enumeration keys(): Devuelve la enumeración de las claves que hay en el diccionario. Enumeration element(): Devuelve la enumeración de los datos que se encuentran dentro del diccionario. Object get(Object clave): Devuelve el elemento asociado con una clave, en caso de no encontrarla devuelve null. Object put(Object clave , Object value): Si la clave ya existe en el diccionario esta no se inserta y se devuelve el valor anterior. Object remove(Object Kay): Método el cual nos permite borrar una clave y su valor, y retorna dicho valor asociado a esa clave, en caso no existir devuelve null.
  • 6.
    HashTable Esta clase lacual forma parte de la colección de java extiende de la clase Dictionary, esta clase nos permitirá agrupar datos asociativos. Esta clase funciona igual que una tabla Hash, esta nos permite dispersar los elementos de acuerdo al código que devuelve el método hashCode(). equals(): Este método es muy importante, es el cual nos ayudara al momento que se necesite hacer búsquedas y comparaciones dentro de la tabla hash.
  • 7.
    Constructores de laclase hashTable public hashTable(): instancia una tabla vacía con una capacidad inicial de 11 y in factor de carga de 0,75. public hashTable(int cap): instancia una tabla vacía con una capacidad definida por el usuario y un factor de carga de 0,75. public hashTable(Map map): instancia de una nueva tabla con los elementos de un mapa mandado como parámetro. public hashTable(int cap , float factorcarga): instancia de una tabla vacía con capacidad y factor de carga definido por el usuario.
  • 8.
    Métodos de laclase hashTable void putAll(Map map): Inserta todos los elementos de un mapa dentro de una tabla hash. boolean containsValue(Object value): Devuelve true si encuentra el valor dentro de los valores de la tabla hash y retorna false en caso contrario. boolean containsKey(Object clave): Devuelve true si la clave ingresada esta dentro de las claves de la tabla hash. Set keySet(): Devuelve el conjunto de claves de la tabla. Collection values(): Devuelve una colección con los valores de la tabla. Set entrySet(): Devuelve el conjunto de elementos de la tabla.
  • 9.
  • 10.
    Map Los mapas almacenaninformación en forma de parejas <clave , valor> La interfaz map define un comportamiento común entre todas las implementaciones directas de diccionarios. AbstracMap: implementa todos los metodos de la interfaz map, exepto el entrySet() método el cual tiene que ser implementado en las clases concretas
  • 11.
    Métodos de lainterfaz Map Boolean IsEmpty(): Método el cual devuelve true si el mapa esta vacío o false en caso contrario. int size(): Devuelve el numero de elementos en el mapa. Object get(Object clave): Devuelve el elemento asociado con una clave, en caso de no encontrarla devuelve null. Object put(Object clave , Object value): inserta el valor, si la clave ya existe en el mapa esta no se inserta y se devuelve el valor anterior. void putAll(Map map): Inserta todos los elementos de un mapa dentro de una mapa. boolean containsValue(Object value): Devuelve true si encuentra el valor dentro de los valores del y retorna false en caso contrario. boolean containsKey(Object clave): Devuelve true si la clave ingresada esta dentro de las claves del mapa. Set keySet(): Devuelve el conjunto de claves del mapa. Collection values(): Devuelve una colección con los valores mapa. Set entrySet(): Devuelve el conjunto de elementos del mapa.
  • 12.
    Hashmap Organiza los elementosen una tabla hash a su ves que proporciona una eficiencia constante a los métodos de búsqueda e inserción. En esta clase es posible tener claves con valores null, que a diferencia de la clase hashTable nos manda una excepción.
  • 13.
    Constructores public hashMap(): instanciaun hashMap vacío con una capacidad inicial de 11 y factor de carga de 0,75. public hashMap(int cap): instancia un hashMap vacío con una capacidad definida por el usuario y un factor de carga de 0,75. public hashMap(Map map): instancia de un hashMap con los elementos de un mapa mandado como parámetro. public hashMap(int cap , float factorcarga): instancia de un hashMap vacía con capacidad y factor de carga definido por el usuario.
  • 14.
    Metodo static int hash(Objectx): La clase usa este método para poder obtener una dirección mas hashCode().
  • 15.
  • 16.
    TreeMap Un mapa TreeMapmatiene en orden sus elementos para lo que utiliza la estructura árbol rojinegro. Este orden se determina por el campo clave. Implementa la interfaz SortMap la cual declara métodos los cuales son aprovechados para la ordenación de las claves.
  • 17.
    Métodos de laclase TreeMap SortedMap subMap(Object desde, Object hasta): Devuelve el sub mapa formado por los elementos cuyas claves estan en el rango de (desde, hasta). SortedMap headMap(Object hasta): Devuelve el sub mapa formado por los elementos cuyas claves son menores que hasta. SortedMap tailMap(Object desde): Devuelve el sub mapa formado por los elementos cuyas claves son mayores o iguales que desde. Object firstKey(): Devuelve la primera clave del mapa. Object lastKey(): Devuelve la ultima clave del mapa. containsKey() get() remove(): Ademas estas tres funciones heredadas de Map son mas eficientes, ya que el tiempo de ejecución es logarítmico O(log n)
  • 18.
  • 19.
    Colecciones Parametrizadas POR: CHRISTIANCOLLAGUAZO Universidad de Cuenca Facultad de Ingeniería
  • 20.
    Colecciones Parametrizadas Las coleccionesguardan internamente los elementos en vectores o array de tipo object. Para conseguir una máxima generalización ya que la clase object es la clase base de cualquier tipo objeto en java. Por lo cual se permite que las colecciones guarden objetos de cualquier tipo. Salida:
  • 21.
    Recuperación de elementos Alrecuperar los elementos es necesario restaurarlos a su tipo inicial.
  • 22.
    Colecciones de unmismo tipo La mayor parte tiempo se usa colecciones con un mismo tipo de datos ej: una lista de enteros, o de un objeto en especifico, a pesar que dichos objetos siempre necesitan una conversión a tipo Object. Desde java 1.5 se amplia la declaración de todas las interfaces y clases y se las relaciona con las colecciones, la cual nos permite parametrizar el tipo de dato que van a tener los elementos de una colección. Esto quiere decir que el compilador comprobara el tipo de datos al realizar operaciones. vector<int> i; no se le podrá agregar elementos de tipo String.
  • 23.
    Declaración de untipo parametrizado Al nombre de la colección le sigue el tipo de elemento entre paréntesis angulares <tipo>. Si se parametrizaron 2 o mas tipos se separa por comas.
  • 24.
  • 25.
    Bibliografía y Enlaces Joyanes,Aguilar. (2008), Estructura de datos en Java. Madrid, España: Editorial Mac Gran Hill Codigo en: https://github.com/XaviColla/Diccionarios-y-Mapas.git