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: by Santiago Faci
