apuntes:colecciones
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
apuntes:colecciones [2023/06/04 18:55] – [Sets] Santiago Faci | apuntes:colecciones [2023/06/04 21:03] (current) – [Ejercicios] Santiago Faci | ||
---|---|---|---|
Line 295: | Line 295: | ||
* Su rendimiento es el menor de todos los Sets | * Su rendimiento es el menor de todos los Sets | ||
- | ===== Queues y Maps ===== | + | ===== Maps ===== |
+ | Es una colección de elementos que se encuentran mapeados por una clave (parejas clave-valor, | ||
+ | * La clave asociada a cada elemento permite recuperarlo | ||
+ | * No se permiten claves duplicadas (se sobrescribe el valor si la clave se vuelve a registrar) | ||
+ | |||
+ | < | ||
+ | {{ map.png }} | ||
+ | < | ||
+ | |||
+ | ==== Interface Map ==== | ||
+ | |||
+ | * Define una serie de método que cualquier colección tiene que implementar | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ==== HashMap ==== | ||
+ | |||
+ | Es un mapa que proporciona rendimiento constante para las operaciones put() y get() | ||
+ | |||
+ | ==== TreeMap ==== | ||
+ | |||
+ | Es un mapa ordenado por el orden natural o Comparator que se indique en el constructor | ||
+ | |||
+ | ==== LinkedHashMap ==== | ||
+ | |||
+ | * Mantiene una lista doblemente enlazada | ||
+ | * Es posible obtener un iterador con el orden de inserción de las claves | ||
+ | |||
+ | ===== Queues ===== | ||
+ | |||
+ | Define estructuras que pueden ser gestionadas como //FIFO// (First In First Out), lo que se conoce como colas. | ||
+ | |||
+ | < | ||
+ | {{ map.png }} | ||
+ | < | ||
+ | |||
+ | ==== Interfaces Queue/Deque ==== | ||
+ | |||
+ | Define una serie de método que cualquier cola tiene que implementar | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Además, la interfaz '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ==== ArrayDeque ==== | ||
+ | |||
+ | Representa una cola | ||
+ | |||
+ | ==== PriorityQueue ==== | ||
+ | |||
+ | Representa una cola donde con los elementos ordenador de forma natural o según el '' | ||
===== La clase HashMap ===== | ===== La clase HashMap ===== | ||
Line 344: | Line 409: | ||
<code java> | <code java> | ||
Set< | Set< | ||
- | < | + | </code> |
=== Obtener el número de elementos del HashMap === | === Obtener el número de elementos del HashMap === | ||
Line 359: | Line 424: | ||
En Java, la clase '' | En Java, la clase '' | ||
- | ---- | + | ====== Ejercicios ====== |
+ | |||
+ | {{ ejercicio.png}} | ||
- | ====== Ejemplos ====== | + | - Elige el tipo de colección más adecuado para cada caso: |
+ | - Se quiere almacenar un listado de productos de una tienda online al recuperarlos de una base de datos | ||
+ | - Ahora tenemos que tener en cuenta que el usuario puede modificar los criterios de ordenación del listado anterior | ||
+ | - Un usuario va añadiendo productos a un carrito de la compra que más adelante tendrá que validar | ||
+ | - Un usuario añade varias direcciones de entrega asociadas a su perfil | ||
+ | - Recuperamos de la base de datos la información del perfil de un usuario (con sus múltiples direcciones de entrega) | ||
---- | ---- | ||
(c) 2019-{{date> | (c) 2019-{{date> |
apuntes/colecciones.1685904911.txt.gz · Last modified: 2023/06/04 18:55 by Santiago Faci