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:53] – [Stack] Santiago Faci | apuntes:colecciones [2023/06/04 21:03] (current) – [Ejercicios] Santiago Faci | ||
---|---|---|---|
Line 270: | Line 270: | ||
< | < | ||
+ | ==== Set ==== | ||
+ | * Por definición no acepta elementos duplicados | ||
+ | * No define métodos nuevos, solamente implementa '' | ||
- | ===== Queues y Maps ===== | + | ==== HashSet |
+ | * Rendimiento constante para las operaciones más habituales | ||
+ | * No garantiza el orden de los elementos de la colección | ||
+ | |||
+ | ==== LinkedHashSet ==== | ||
+ | |||
+ | Mantiene una lista doblemente enlazada por lo que puede obtenerse un iterador con el orden en que los elementos fueron añadidos a la colección | ||
+ | |||
+ | ==== EnumSet ==== | ||
+ | |||
+ | Es un Set especializado para enumeraciones | ||
+ | • El rendimiento es ligeramente inferior al de HashSet | ||
+ | |||
+ | ==== TreeSet ==== | ||
+ | |||
+ | * Garantiza el orden de los elementos | ||
+ | * Sus elementos se mantienen siempre ordenados de forma natural o por un '' | ||
+ | * Su rendimiento es el menor de todos los Sets | ||
+ | |||
+ | ===== 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 321: | 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 336: | 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.1685904787.txt.gz · Last modified: 2023/06/04 18:53 by Santiago Faci