Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Estructura de Datos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 14

ESTRUCTURA DE DATOS

YULY ANDREA VILLAMIL GUARACA


ACTIVIDAD EVALUATIVA - MÓDULO 4

DIPLOMADO JAVA
MODULO 4
2022
TALLER
1. Consultar las siguientes estructuras de datos. (40%)
➢ Java.util.Map
➢ Java.util.HashMap.
¿Para qué sirven? ¿Cuáles son sus métodos principales?
2. Consulta ¿Qué son los generics en Java: (20%)
3. Construya un texto (mínimo una página, máximo 3) con sus propias palabras
en base a las estructuras de datos, su definición, principal método y la
diferencia que tiene frente a las otras estructuras. (40%)
Listas
Pilas
Colas
4. Adicionalmente se tendrá en cuenta las referencias bibliográficas y piezas de
código, pantallazos o ilustraciones que permitan mejorar la calidad del
entregable
DESARROLLO

1. Estructuras de datos
Java.util.Map: Realiza el mapeo en la estructura de datos; tiene cuatro clases de
implementación, a saber, HashMap Hashtable LinkedHashMap y TreeMap.
Métodos Principales:
➢ void clear(): Elimina todas las claves y valores
➢ boolean containsKey(Object clave): Devuelve true si alguna clave es “equals”
a la indicada
➢ boolean containsValue(Object valor): Devuelve true si algún valor es “equals”
al indicado
➢ boolean equals(Object x): Devuelve true si contiene las mismas claves y
valores asociados
➢ V get(Object clave): Devuelve el valor asociado a la clave indicada
➢ boolean isEmpty(): Devuelve true si no hay claves ni valores
➢ Set<K> keySet(): Devuelve el conjunto de claves
➢ V put(K clave, V valor): Asocia el valor a la clave; devuelve el valor que estaba
asociado anteriormente, o NULL si no había nada para esa clave
➢ V remove(Object clave): Elimina la clave y el valor asociado;
➢ devuelve el valor que estaba asociado anteriormente, o NULL si no había
nada para esa clave
➢ Int size(): Número de asociaciones { clave, valor }
➢ Collection<V> values(): Devuelve una estructura de datos iterable sobre los
valores asociados
Java.util.HashMap: La clase HashMap crea listas de datos en los que se
almacenan parejas de elementos clave – valor. Lo habitual es utilizar un String como
clave para almacenar objetos de otra clase como valores. NO permite tener claves
duplicadas. Pero si valores duplicados.

Métodos principales:
A continuación, encontraremos los métodos principales de HashMap y un ejemplo
de cómo se puede implementar.

➢ get(clave): obtiene el valor correspondiente a una clave. Devuelve null si no


hay clave
➢ put(clave, valor) : Añade un par(clave, valor) al diccionario. Si hay un valor
para esta clave, se machaca
➢ keySet(): Devuelve un conjunto (set) con todas las claves
➢ values() : Devuelve una colección con todos los valores
➢ entrySet() : Devuelve una colección con todos los pares(clave, valor)
➢ containsKey(clave) – devuelve true si el diccionario contiene la clave indicada
y false en caso contrario
➢ getKey(): Devuelve la clave de la entrada. Se aplica a una sola entrada del
diccionario, es decir a una pareja(clave, valor)
➢ getValue(): Devuelve el contenido de la entrada. Se aplica a una sola entrada
del diccionario, al igual que getKey()

Al declarar un diccionario hay que indicar los tipos tanto de la clave como el valor.
En el siguiente ejemplo definimos el diccionario:

Ante de esto hay que importar la clase import java.util.HashMap;

Para insertar una entrada en el diccionario se utiliza el método put indicando la clave
y el valor.
Podremos utilizar el método print para extraer todas las entradas o utilizar un
entrySet(conjunto de entradas). Otra opción seriá utilizar un for para recorrer una a
una todas las entradas. En este último caso hay que convertir el diccionario en un
entrySet ya que no se pueden sacar las entradas directamente del diccionario.

Con los métodos getKey y getValue se extraen la clave y el valor de una entrada.
Con containsKey comprobaremos si existe o no una determinada clave en un
diccionario y con el método get extraeremos los valores que coresponden a esa
clave.
2. ¿Qué son los generics en Java?

Bajo la expresión “soporte de genéricos” java proporciona dos facilidades de


programación bastante diferentes:
➢ Tipos genéricos: Son clases parametrizadas por uno o más tipos que deben
ser facilitados por el programador cuando quiera usar la clase creando
objetos.
➢ Métodos genéricos: Son métodos en los que los argumentos y/o el resultado
incluyen referencias a tipos que no se conocerán hasta que vayamos a usar
el método.
Con esta clase genérica podemos crear objetos de diferentes tipos
➢ New ArrayList<String> es una lista de String
➢ New ArrayList<Integer> es una lista de Integer
➢ New ArrayList<Punto> es una lista de objetos de clase Punto

El objetivo de los genéricos con java es:


➢ Desplazar a tiempo de compilación los tradicionales errores de ejecución que
ocurrían en programas con fuerte uso de downcasting
➢ Si el compilador no se queja, se puede asegurar que no habrá errores de tipo
de datos (casting) en ejecución
Un término es “Quejarse” quiere decir que el compilador protesta como se puede
ver en el siguiente ejemplo, al compilar la clase Queue_Array que se usa un poco
más adelante:

3. Estructurado de datos
Los programadores frecuentemente se encuentran con la necesidad de escribir
programas que manipulan una estructura de datos del mismo tipo. Con los
conocimientos básicos de programación inmediatamente se piensa que la solución
para trabajar con estos datos es utilizar un arreglo, con ventajas y desventajas de
estos.
Las estructuras de datos tienen como objetivo facilitar la organización, con el
propósito de que la manipulación de ellos sea eficiente.
Hay diferentes tipos de datos como los generales y otras especializadas en
problemas particulares. Además de esto optimiza el rendimiento del programa.

De igual manera las estructuras de datos no solo representan la información,


también tienen un comportamiento interno, y se rige por ciertas reglas/restricciones
dadas por la forma en que está construida internamente.

Los 3 tipo de estructuras de datos son:


➢ Listas
➢ Pila.
➢ Cola.
LISTAS:
Las listas son una forma muy eficiente de poder manipular tantas cantidades de
datos, donde la implementación de estas se realiza de dos formas:
➢ Clases e Interfaces de Java.
➢ Implementación desde cero.
Se centra en sus clases e interfaces para la implementación de sus estructuras
daremos a conocer 3 implementaciones principales.
Se basan en las listas de estructuras existentes y definidas por Java con todos los
métodos definidos e implementados.
Posteriormente por medio de la interfaz List se aplicará detalladamente los
principales métodos y su funcionamiento, dado que los métodos son similares en
cada estructura.
List:
La interfaz de la Lista de Java, java.util.List representa una secuencia ordenada de
objetos. List se pueden insertar, acceder, iterar y eliminar de acuerdo con el orden
en que aparecen internamente en el Java List.
Algo interesante de las listas en Java es el hecho de que no es necesario establecer
un tamaño específico para la List, a diferencia de las tradicionales matrices o
arreglos.
Para utilizar este tipo de paquetes se deben hacer la importación.

Algunos de los tipos de datos String son:


Para realizar este proceso existen varias formas o métodos que permiten llevar a
cabo la inserción de datos en una lista
Método Add: Recibe los datos que se quieren guardar.

Método Add con índice: Recibe el dato y los indices que se quieren guarda.
Método Add list: Recibe todos los elementos de una lista nueva, ésta nueva
debe ser del mismo tipo de la contenedora

Método Add list con índice: Recibe todos los elementos de una lista nuevo
en una posición especificada.
Método set: Actualiza un índice de la lista a partir de una posición y un valor
del mismo tipo determinado
Método Get: Recupera un valor de la lista a partir de una posición
determinada.
Método Size: Devuelve el tamaño de la lista a partir de los valores existentes
dentro de ésta
Método Constains: Recibe un valor del mismo tipo y determina si existe o no
dentro de la lista
Método Clear: Limpia todos los datos de la lista de forma que esta queda
completamente vacía
Método isEmpty: Retorna verdadero en caso de que la lista se encuentre
vacía o falso en caso contrario.
Método Remove por índice: Recibe índice válido dentro de la lista y elimina
el dato que se encuentre en ésta.
Método Remove por valor: Elimina la primera aparición del dato especificado
en el método.
Método IndexOf: Devuelve el índice de un dato especificado en el método en
caso de que exista en la lista
Método Iterator: Crea una variable de iteración de listas para recorrer la
mismas en el orden en el que se encuentra almacenada.

LinkedList: Java.util.LinkedList representa una secuencia ordenada de objetos


enlazados.
Las listas enlazadas son una estructura de datos lineales donde los elementos no
se almacenan en ubicaciones contiguas y cada elemento es un objeto separado con
una parte de datos y una parte de dirección. - No se puede inicializa el tamaño, sin
embargo, el tamaño aumenta si la colección aumenta o se reduce si los datos se
eliminan de la colección.
Las linkedList de tipo string son:
LinkedList de Enteros
LinkedList de Doubles.
LinkedList de Objetos.
LinkedList de un tipo de clase

PILAS:
Una pila es una versión restringida de una lista es una estructura de datos lineal que
solo tienen un único punto de acceso fijo por el cual se añaden, eliminan o se
consultan elementos.
Los índices empiezan en 1 con los métodos de la Clase Stack, si se
implementan otros, desde el índice 0.
Si la pila está vacía no tiene sentido referirse a una cima ni a un fondo.

Ejemplo de Stack:

Maneja sus propios métodos los cuales son:


Empty,
Peek
Pop
Push
Search.
De igual manera implementa alguno de los métodos de las otras estructuras:
Add
Remove
Clear
Set
Get
Etc.
COLAS:
También se llama estructura FIFO, debido a que el primer elemento en entrar será
también el primero en salir. La particularidad de una estructura de datos de cola es
el hecho de que sólo puede accederse al primer y al último elemento de la
estructura. Por muchos elementos que contengan siempre se puede añadir un
elemento más y en caso de estar vacía borrar un elemento sería imposible hasta
que no se añade un nuevo elemento.
Cuenta con 6 métodos propios de su interfaz:
Add
Element
Offer
Peek
Poll
Remove.
Implementa métodos de las otras estructuras:
AddAll
Remove,
Clear
Size
Iterator
Etc.
Bibliografía

• https://chuletasinformaticas.wordpress.com/2018/03/20/hashmap/
• http://mundodelprogramador.com/java/hash-map.html
• http://dit.upm.es/~pepe/libros/vademecum/index.html?n=146.html
• file:///C:/Users/Yuly%20Villamil/Downloads/Guia%20Didactica%20Java%20
-%204.pdf

También podría gustarte