Saltar navegación

20250204 RepasoConceptosListas - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 4 de febrero de 2025 por Raquel G.

11 visualizaciones

Descargar la transcripción

Venga, pues a ver si no se pierde nadie en esta revisión, contextualización teórica, para que luego veáis que realmente todo encaja en los ejercicios. 00:00:00
Vale, recordad que estamos, estamos en el contexto de las colecciones, que las colecciones son objetos, objetos, que me permiten guardar dentro un montón de objetos, eso es una colección, un objeto que me permite guardar dentro un montón de objetos, vale, eso es una colección. 00:00:11
tenemos 00:00:42
de dos tipos 00:00:44
las listas 00:00:46
y los conjuntos 00:00:53
¿vale? 00:00:56
luego aparte tenemos 00:01:01
otra cosa que se llama colección 00:01:02
todo esto estoy ahora mismo repitiendo 00:01:04
¿vale? otra cosa que también se llama 00:01:06
colección 00:01:08
que son los diccionarios 00:01:09
o mapas, voy a llamar mapas 00:01:13
que lo entendéis mejor 00:01:14
¿Vale? Pues 00:01:16
¿Por qué lo he sacado de colecciones? 00:01:21
Porque todo esto 00:01:25
Cuando se programa en Java 00:01:26
Todo esto cuando se programa en Java 00:01:28
Se programa como siempre 00:01:29
Una arquitectura de interfaces 00:01:31
Clases que implementan unas a otras 00:01:33
¿Vale? 00:01:35
Se implementa, esto luego en Java se ha programado 00:01:37
Como clases que forman parte 00:01:39
De una jerarquía 00:01:41
Se ha programado así 00:01:43
Entonces, tenemos 00:01:44
La superclase 00:01:46
más grande de todas 00:01:49
que es la superclase colección 00:01:52
esa es una clase abstracta 00:01:53
que no se puede instanciar 00:01:56
porque es una colección genérica 00:01:58
que no sabemos de qué tipo es 00:01:59
es lista, es conjunto 00:02:01
esta simplemente ofrece algunos métodos básicos 00:02:02
pero vacíos 00:02:06
como el añadir 00:02:07
el ver el tamaño 00:02:09
métodos muy básicos 00:02:12
hay en esta colección 00:02:15
¿Qué clase de la clase es tracha? 00:02:16
Mírate la grabación de hace dos semanas. 00:02:23
De verdad, ¿eh? 00:02:28
Y luego decís que os pegamos. 00:02:30
Es que más deberíamos pegaros. 00:02:32
Entre que repite las cosas una y otra vez. 00:02:36
Y luego encima. 00:02:38
Entre ayer y hoy. 00:02:41
Nos han puteado. 00:02:43
¿Puteado? 00:02:44
Nos han tragañado todas las uñas. 00:02:45
Nos ha regañado todo el día. 00:02:46
Ya, pero sed honestos. 00:02:49
¿No merece que le regañen por preguntar 00:02:50
por una clase abstracta? 00:02:52
Es la segunda vez que le regañan hoy. 00:02:53
Es que es lo peor. 00:02:55
Es que si tuvieras propiedad 00:02:57
y se ha sentado con Rosa 00:02:59
en el trabajo físico así. 00:03:00
No, yo eso no lo voy a hacer. 00:03:03
Pero si te regaño, 00:03:05
porque es que estoy repitiendo cosas 00:03:06
y no hay otra vez, 00:03:09
porque no lo miráis. 00:03:10
Las clases abstractas las hemos trabajado ya mil veces. 00:03:11
¿Qué habrás hecho? 00:03:14
¿Qué habrás hecho? 00:03:36
Bueno 00:03:37
¿Qué vas a decir en tu defensa? 00:03:38
Porque no tienes ninguna 00:03:44
¿Perdón? 00:03:45
¿Perdón? 00:03:56
¿Perdón? 00:03:57
¿Quién estaba ayudando? 00:03:57
¿Quién estaba ayudando? 00:04:01
Era él 00:04:03
Tú a no sé quién 00:04:04
Y te ha echado por eso 00:04:06
Por ayudarle a una gente de esta asignatura 00:04:09
A ver, es que 00:04:11
Tenéis que ser espabilados 00:04:12
Tenéis que ser espabilados 00:04:14
Entonces 00:04:17
si hacéis algo que se supone 00:04:17
que no se tiene que hacer 00:04:20
que es, te ayudo en programación en clase de entorno 00:04:21
que no se note 00:04:24
o disimulalo, o si hay que mentir se miente 00:04:25
pero hombre 00:04:29
tenéis que ser un poquito más espabilados 00:04:30
vas a hacer que se vaya 00:04:44
¿Me estás culpando a mí de que no sabes tú 00:04:46
lo que es una clase abstracta? 00:04:48
¡Toma! 00:04:49
¡Vamos! 00:04:51
Vale, yo te lo voy a decir 00:04:57
porque soy muy buena. 00:04:59
Pero estoy 00:05:01
teniendo en cuenta que ya te lo he 00:05:03
dicho alguna vez y que se te ha olvidado 00:05:05
que me garantiza a mí 00:05:07
que decírtelo ahora no significa que me vas a dar la brasa 00:05:09
con ello mañana otra vez. 00:05:11
Bueno, en fin. 00:05:14
versión resumida 00:05:15
una clase abstracta 00:05:16
es una clase que tiene métodos 00:05:19
vacíos, sin implementar 00:05:21
porque no 00:05:23
puede todavía comprometerse 00:05:25
a darles una implementación 00:05:27
porque depende de detalles que aún no tienen 00:05:29
esos detalles, ¿quién los va a tener? 00:05:31
sus subclases 00:05:33
entonces como sus subclases ya sí que tendrán 00:05:34
esos detalles, serán las subclases 00:05:37
las que sobrescriban esos métodos 00:05:39
y los implementen 00:05:41
idea básica de la herencia 00:05:42
Es una clase sin métodos, ¿no? 00:05:45
No, es una clase con al menos un método vacío. 00:05:46
Es una clase abstracta. 00:05:51
¿Y por qué hay un método vacío? 00:05:53
Bueno, hay un método vacío. 00:05:56
A ver, todo esto tiene que ver con que esa clase está pensada para ser superclase de otras 00:06:00
y por tanto para unificar comportamientos y características. 00:06:06
Entonces, como está pensada para unificar comportamientos y características de todas sus subclases, como esas subclases todas van a implementar un método, por ejemplo, el método correr, si estamos hablando de animales, pues ese método se pone en la superclase para unificar y dar a entender que todas las subclases tendrán ese comportamiento de correr. 00:06:10
¿vale? pero ¿qué pasa? 00:06:32
que la superclase todavía no sabe 00:06:35
cómo se corre, dependerá de si es gato 00:06:37
si es dinosaurio 00:06:39
o si es hormiga, con lo cual 00:06:41
la superclase lo deja vacío 00:06:43
y las subclases 00:06:45
que ya tienen los detalles 00:06:47
lo sobrescriben con cada una su propia 00:06:48
implementación, ¿qué ventaja 00:06:51
tiene eso? que cuando 00:06:53
tienes una referencia de tipo animal 00:06:55
y luego 00:06:57
la instancias con gato, perro 00:06:59
porque eso si lo sabes 00:07:01
que tú puedes una referencia de una superclase 00:07:02
instanciarla con objetos de sus clases 00:07:05
pues esa referencia 00:07:07
de tipo animal, podrá llamar a correr 00:07:09
porque correr está en la superclase 00:07:11
aunque esté vacío 00:07:13
esa es la ventaja, podrá llamarla 00:07:14
viene a ser lo mismo 00:07:16
bueno, en realidad porque una llegó después de la otra 00:07:21
es una cuestión de diseño 00:07:23
porque la clase abstracta 00:07:26
te permite además 00:07:27
tener métodos que no sean 00:07:28
que no sean abstractos 00:07:31
te permite tener constructores 00:07:33
te permite tener propiedades 00:07:35
que la interfaz no te lo permite 00:07:36
entonces no son idénticas 00:07:38
claro 00:07:40
¿está claro? 00:07:41
te lo acabo de decir 00:07:48
porque si tú no pones ese método ahí 00:07:49
luego no podrías llamarlo 00:07:52
desde la referencia 00:07:54
porque el compilador te diría 00:07:56
uy, este método no está declarado 00:07:57
llamas al de la subclase 00:07:59
o sea 00:08:04
esta misma clase que no es lo mismo 00:08:06
el tiempo de desarrollo 00:08:08
que el tiempo de ejecución, en tiempo de desarrollo 00:08:10
el compilador mira si está en la superclase 00:08:12
y en tiempo de ejecución la máquina 00:08:14
virtual mira el de la subclase 00:08:16
todo esto lo hemos contado mil veces 00:08:18
esta es la mil una 00:08:20
¿vale? 00:08:21
bueno, pues 00:08:26
entonces, ya se me ha ido el hilo 00:08:28
en fin 00:08:30
sí, a ver 00:08:32
colección 00:08:34
es la super clase 00:08:37
que te ofrece 00:08:38
unos métodos muy básicos, comunes 00:08:40
para todas las colecciones, pero están vacíos 00:08:42
porque luego cada implementación 00:08:45
decidirá cómo hacerlo del tamaño, etc. 00:08:47
vale 00:08:49
dos implementaciones básicas 00:08:50
de colección 00:08:52
las listas y los conjuntos 00:08:54
las listas 00:08:56
están en la implementación 00:08:58
list que implementa collection 00:09:00
y los conjuntos 00:09:02
están en la implementación set 00:09:05
que implementa collection 00:09:06
pero claro, list y set 00:09:07
siguen siendo abstractas 00:09:10
o interfaces, no sé exactamente 00:09:12
¿por qué? 00:09:14
porque listas puede haber de varios tipos 00:09:16
y esta sigue siendo abstracta 00:09:18
porque puede haber de varios tipos 00:09:20
entonces 00:09:21
¿por qué hay dos? 00:09:23
Porque list, por ejemplo, ofrece un método getPorPosición que set no te ofrece. 00:09:26
¿Por qué? 00:09:34
Porque las listas son colecciones en las cuales la posición importa 00:09:35
y los conjuntos son colecciones en las cuales la posición no importa. 00:09:41
Esa es su única diferencia. 00:09:47
¿En un conjunto accedes al dato? 00:09:49
en un conjunto 00:09:51
tú tienes el dato y tendrás 00:09:53
que iterar hasta que encuentras 00:09:55
el que es igual al que estás buscando 00:09:57
y a ese objeto lo copias 00:09:58
en otro objeto 00:10:01
claro, en función de lo que tengas que hacer, tú sabes que están ahí 00:10:01
que hay un montón de objetos 00:10:04
y tú iteras para ver lo que hay 00:10:06
con un for each, con un for de índice no 00:10:07
porque hay un índice que vale 00:10:10
claro, en las listas 00:10:11
la posición importa 00:10:15
y en los conjuntos 00:10:16
la posición 00:10:18
no importa 00:10:19
vale, eso implica 00:10:21
que esta interfaz list 00:10:28
añade un método get por posición 00:10:29
que esta no tiene 00:10:32
con lo cual este get nunca está en collection 00:10:33
no está, porque si estuviera en collection 00:10:36
lo implementaría 00:10:38
set y en set 00:10:41
no tiene ningún sentido 00:10:42
entonces hay métodos propios de list 00:10:43
que no están en set 00:10:46
por supuesto 00:10:48
y por supuesto en collection tampoco 00:10:49
porque collection tiene los comunes 00:10:52
para todas las colecciones 00:10:53
pero al final para todas estas cosas 00:10:54
casi siempre conviene castearlo 00:10:56
a la última subclase y ya está 00:10:57
aunque lo crees como list 00:10:59
claro 00:11:00
como collection no lo instancias 00:11:01
porque lo dejas demasiado abierto 00:11:07
y luego los métodos que te va a ofrecer el compilador 00:11:09
son tan poquitos 00:11:11
aunque lo crees como collection 00:11:12
siempre conviene castearlo a linkedin 00:11:14
claro, un casteo controlado 00:11:17
asegurándote de que esa colección 00:11:20
no es realmente una lista aún, claro. 00:11:21
Vale, entonces, de nuevo, list y set siguen siendo abstractas, 00:11:24
interfaces, porque todavía no tienen una implementación concreta. 00:11:30
Ahora ya sí que vamos a darle una concreta. 00:11:34
¿Cuáles son las dos básicas implementaciones de list? 00:11:37
Pues ArrayList y LinkedList, que por dentro ya sabemos sus detalles 00:11:42
porque las hemos programado nosotros. 00:11:54
Ya sabemos sus detalles. 00:11:56
Y el saber sus detalles 00:11:58
nos permite decidir cuál de las dos. 00:11:59
Si las dos son lo mismo, dos listas 00:12:02
en las cuales la posición importa, 00:12:04
¿qué criterio tengo 00:12:07
para elegir una u otra? Pues ya lo hemos dicho a veces. 00:12:08
El ArrayList 00:12:11
tiene muy buen 00:12:12
rendimiento cuando sobre todo se hacen consultas 00:12:14
y muy mal rendimiento 00:12:16
cuando sobre todo se hacen inserciones y borrarlos. 00:12:18
Y el LinkedList es el complementario. 00:12:21
tiene muy buen rendimiento cuando se hacen 00:12:23
insertiones y borrados y muy mal rendimiento 00:12:25
cuando sobre todo se hacen consultas 00:12:27
por su propia naturaleza de cómo están 00:12:29
programados, esto ya lo hemos dicho 00:12:31
cuando hay 00:12:33
pocos datos, pues siempre un array 00:12:35
list mejor porque el array siempre es 00:12:37
más cómodo, más rápido 00:12:39
vale, pero bueno 00:12:41
en general normalmente 00:12:43
tampoco es, salvo 00:12:44
aplicaciones en las cuales el rendimiento sea 00:12:47
crítico y hay muchísimos datos 00:12:49
pues tampoco hay mucha trascendencia entre una 00:12:50
LinkedList 00:12:53
ofrece métodos que no tiene ArrayList 00:12:56
porque LinkedList 00:12:58
se usa 00:13:00
cuando queremos simular 00:13:02
las estructuras 00:13:04
que todos 00:13:06
los que trabajamos en programación nos suenan 00:13:07
de toda la vida 00:13:10
que son las pilas y las colas 00:13:11
os suenan los términos de pilas y colas 00:13:13
en sistemas operativos de gestión de procesos 00:13:15
os sonará 00:13:18
los procesos se van gestionando en colas 00:13:19
tipos, tipos 00:13:21
todo eso 00:13:22
vale, lo pongo aquí 00:13:24
linked list 00:13:26
se usa también 00:13:27
para simular 00:13:31
estructuras 00:13:36
como pilas y colas 00:13:39
vale 00:13:42
de hecho 00:13:43
hay clases del año katapun 00:13:47
ya hechas 00:13:50
en java 00:13:52
que son exactamente una pila 00:13:53
que es la clase stack 00:13:55
pero esa es una clase 00:13:57
que se usa muy poco 00:13:59
de hecho yo creo que ni es genérica 00:14:00
ni nada, está con object 00:14:03
tal cual no la puedes parametrizar ni nada 00:14:05
¿vale? entonces 00:14:07
¿es necesario parar? 00:14:08
no, si quiero yo no 00:14:15
nadie se pronuncia 00:14:17
no, salimos igual 00:14:19
bueno 00:14:24
Continúo hasta terminar esta parte 00:14:26
Continúo un poquito, sí, lo que pasa es que tengo 00:14:28
cuerda para rato, pero bueno, en algún momento 00:14:30
paro un ratito, ¿vale? 00:14:31
Que es que las mujeres 00:14:35
hablan mucho 00:14:36
A ver 00:14:37
Nosotras podemos permitir 00:14:43
decir lo que queramos 00:14:46
Es una de las ventajas de ser mujeres, ¿no? 00:14:47
Yo puedo permitirme decir esto 00:14:49
A ver, cada uno se puede permitir 00:14:51
No, pero me refiero a que 00:14:55
Estefano dice eso y dice 00:14:57
Joder, qué machista 00:14:58
Yo digo eso y da igual 00:14:59
No, ellos sí pueden decirlo 00:15:00
Son unos españoles de mierda 00:15:11
Ellos sí pueden ser españoles 00:15:12
Ah, bueno, pero eso ya es otro tema 00:15:13
Bueno 00:15:17
Entonces 00:15:18
Eso 00:15:19
Hispano 00:15:22
Vale, entonces 00:15:24
Sabéis lo que es una pila, ¿no? 00:15:26
Una pila es otra estructura de datos 00:15:30
Para guardar datos 00:15:33
Pero con una particularidad muy concreta 00:15:35
La pila es una estructura de datos 00:15:37
Cuya particularidad es 00:15:41
Que solo tiene en principio 00:15:43
Dos métodos, que son 00:15:45
Meter y sacar 00:15:46
Apilar y desapilar 00:15:49
bus o pop, que son los nombres habituales 00:15:52
que se usan en contextos términos 00:15:55
entonces, una pila es 00:15:57
pues una estructura 00:15:59
la pila de jerseys 00:16:01
¿qué es lo único que puedes hacer con la pila de jerseys? 00:16:02
poner uno arriba 00:16:06
no tienes opción de ponerlo entre medias 00:16:07
esa opción no la tienes, ponerlo arriba 00:16:09
o sacarlo 00:16:11
el de arriba, sacarlo del medio 00:16:13
no tienes opción, entonces es una estructura 00:16:15
que no tienes 00:16:17
en la pila de jerseys que yo digo no 00:16:19
Vale, una pila es una estructura muy sencilla de programar, muy sencilla de programar, porque solo te ofrece dos métodos, el método apilar, que se suele llamar push, y el método desapilar, que se suele llamar pop, es lo único que te ofrece esa estructura, cuando tú haces push, estás poniendo uno arriba, y cuando haces pop, estás sacando el de arriba, no te ofrece ni meter en otra, silencio, 00:16:20
no te ofrece ni meter en el medio 00:16:48
ni meter abajo 00:16:52
ni te ofrece sacar el del medio 00:16:53
y sacar el de abajo 00:16:56
entonces 00:16:56
a ver, os estáis despistando 00:16:58
alguien me hace caso 00:17:01
aparte de él o él aparenta que me lo hace 00:17:03
yo te estaba diciendo 00:17:05
que me acabas de preguntar 00:17:06
si, mirando a tu culo 00:17:08
bueno, vale 00:17:12
entonces, la pila 00:17:15
¿qué ventaja tiene? Pues que es muy fácil 00:17:17
de programar porque solo te ofrece dos 00:17:19
métodos. Pon arriba y saca abajo 00:17:21
y saca del de arriba. ¿Cuál es 00:17:23
la desventaja que tiene? Que si 00:17:25
tú quieres mirar el jersey de más 00:17:27
abajo, tienes que sacarlos todos 00:17:29
pop, pop, pop, hasta sacar todos. 00:17:31
Claro, pero ¿qué ocurre? 00:17:34
Que si hay una situación 00:17:36
¿qué ocurre? Que si hay 00:17:37
una situación que tú has identificado 00:17:41
en la cual a ti lo único 00:17:43
te interesa es guardar 00:17:45
arriba y cuando saques sacar el de 00:17:47
arriba, si identificas que hay 00:17:49
una situación que se adapta a tus necesidades 00:17:51
pues entonces 00:17:53
usas una pila 00:17:55
con sus métodos push y pop y se acabó 00:17:56
pero si tu situación 00:17:59
necesita que tú saques de abajo 00:18:01
o apiles en otro lado 00:18:03
no usarás una pila porque la pila solo te 00:18:05
permite apilar arriba y sacar el de arriba 00:18:07
¿vale? 00:18:09
hay situaciones informáticas, que es en lo que hablamos 00:18:10
nosotros, que se adaptan 00:18:13
a eso. En procesos 00:18:15
igual, pues 00:18:17
según se van llamando a procesos anidados, 00:18:19
tú vas guardando el contador de programa 00:18:21
que se llaman. Entonces, cuando tú guardas el contador de programa 00:18:23
quieres ponerlo siempre arriba. 00:18:25
Y cuando sacas, quieres sacar siempre 00:18:27
el de arriba, pero quieres continuar el punto en el que lo dejaste. 00:18:29
Entonces, hay situaciones 00:18:32
de gestión informática 00:18:33
en las cuales la pila viene perfecta. Yo solamente 00:18:35
quiero poner arriba y sacar de arriba. 00:18:37
Bueno, pues esta estructura, 00:18:39
que es una estructura que todos los informáticos tenemos que conocer, 00:18:41
a pila, porque es muy sencilla 00:18:43
y a veces se adapta 00:18:44
en esta programada de tiempos inmemoriales 00:18:45
en la clase stack 00:18:49
de Java, que pasamos de ella 00:18:50
completamente porque es una clase 00:18:52
muy patatera, pero que la podéis ver por ahí 00:18:54
y la linked list 00:18:57
que esta ya sí que es una clase 00:18:59
moderna 00:19:01
te permite 00:19:01
instanciarla y trabajar 00:19:03
con ella como si fuera una pila 00:19:07
porque si ahora vemos lo que tiene linked list 00:19:08
vemos que tiene un método que se llama push y otro que se llama pull 00:19:10
Entonces, que tú quieres una pila, pues te haces un link en list de alumno y haces push pop y ya está, ¿vale? 00:19:13
Que ya ves tú qué tontería, porque el push es el add al principio. 00:19:19
Y ya ves tú qué tontería, porque el pop es el get cero, ¿vale? 00:19:22
Pero los llama push y pop para hacerte a ti el guay que estoy usando una pila. 00:19:26
Pero me da igual el push que el add first, que el pop que el get cero. 00:19:30
Es lo mismo, ¿vale? 00:19:35
El get cero no, el get del último, perdón, el get cero sería el primero y el último. 00:19:37
El add, el get último. 00:19:40
no, no, no 00:19:43
el add por defecto es 00:19:48
añades al final 00:19:49
claro, por defecto al final 00:19:50
el get cero sería el primero que metiste 00:19:52
el primero que metiste de todo 00:19:55
¿vale? por eso el pop sería 00:19:56
el get no del cero, sino del último 00:19:59
¿vale? 00:20:01
bueno, pues eso en cuanto a linked list 00:20:02
que linked list 00:20:04
te ofrece métodos 00:20:05
que no ofrece array list 00:20:08
pues métodos como ese 00:20:10
pues como el push, pop 00:20:12
pues 00:20:15
bueno, push y el objeto que sea 00:20:16
claro, no hay falta de objeto 00:20:19
te los ofrece para simular 00:20:20
que estás con una pila, bueno pues que hay pequeñas 00:20:22
diferencias en cuanto a los métodos que ofrecen 00:20:24
pero que esencialmente son implementaciones 00:20:26
de list, es decir, colecciones 00:20:29
que una instancia, instancia 00:20:31
mi lista, lista, me puedo hacer 00:20:33
los add, los get, lo que sea 00:20:35
me da igual que sea con esta 00:20:37
como que push y el objeto 00:20:38
o sea, cuando tú apilas un jersey 00:20:39
tienes que darle el jersey 00:20:41
sí, pero ya el método 00:20:42
ah bueno, no, tienes que 00:20:45
claro, cuando tú haces un jersey 00:20:47
no, en el pop sí que no, el pop te lo devuelve 00:20:48
el pop te lo da como un corrector 00:20:51
y este te lo tienes que dar 00:20:52
vale 00:20:54
vale 00:20:55
entonces 00:20:56
ya que estamos, la pila está claro 00:21:01
¿qué es la cola? 00:21:03
pues la cola es un nombre que recibe 00:21:06
la estructura de toda la vida 00:21:07
en la cual tú 00:21:09
es, no el contrario 00:21:10
pero bueno, parecía el contrario que la pila 00:21:13
pues una cola es, te ofrece el método 00:21:15
meter, pues pum, te metes 00:21:17
y el sacar 00:21:19
es al contrario que la pila 00:21:21
sale siempre el primero que entró 00:21:22
¿vale? 00:21:26
la pila funciona así 00:21:27
claro, en la pila 00:21:29
el primero que entra 00:21:35
perdón, el último que entra 00:21:37
con el push, el último que entra 00:21:40
es el primero que sale 00:21:42
el último que entra 00:21:44
es el primero que sale 00:21:46
pero la cola no es así 00:21:47
la cola es así 00:21:49
en la cola de la pescadería, efectivamente 00:21:51
el primero que entró 00:21:54
es el primero que sale 00:21:56
¿vale? 00:21:58
la cola es la estructura normal de toda la vida 00:22:00
cuando se van encolando 00:22:02
entran por un lado y salen por el otro 00:22:03
porque no vamos a perder tiempo en eso 00:22:08
ahora mismo me interesa el concepto 00:22:11
todo eso es que está ya programado aquí 00:22:14
lo que nosotros vamos a hacer ahora ya 00:22:15
es usar estas clases, usarlas en diferentes ejercicios 00:22:17
pero no podéis ir de aquí 00:22:20
sin saber exactamente el término 00:22:22
pila y cola que es obviamente 00:22:24
y de colas os sonará 00:22:25
esto, esto ya sí que de sistemas 00:22:28
operativos o donde sea 00:22:30
claro 00:22:31
esto es, el último que entró es el primero 00:22:33
que sale, que esta es la cola de toda la vida 00:22:36
la de la pescadería 00:22:38
no, no, perdón, la FIFO 00:22:39
es la de la pescadería, el primero 00:22:42
first in, first out, el primero que entró es el primero 00:22:44
que sale, vamos todos en fila 00:22:46
y según voy entrando y saliendo 00:22:48
el LIFO es last in, first out 00:22:49
el último que entró es el primero que sale 00:22:52
este es, en realidad es una 00:22:54
pila, una cola LIFO es una pila 00:22:56
el último que entró es el primero que sale 00:22:57
¿vale? entonces 00:22:59
las colas tanto lifos como fifo 00:23:02
te ofrecen el método, meter chacal 00:23:04
y ya está, entonces son 00:23:05
implementaciones sencillas 00:23:07
de colecciones para meter cosas 00:23:10
pero siguiendo sus 00:23:11
sus patrones de funcionamiento, que son muy sencillos 00:23:13
sin embargo las listas 00:23:18
ya son colecciones abiertas, tú metes 00:23:21
en la posición que te dé la gana 00:23:23
sacas la que quieras de todas las 00:23:25
posiciones, haces lo que quieras 00:23:27
son colecciones donde haces todo 00:23:29
vale, bueno, pues lo de las listas 00:23:30
ahora después 00:23:34
en el ejercicio que empezasteis ayer 00:23:37
y que continuaremos 00:23:39
vamos a ver casi todos los detalles 00:23:41
casi todos los detalles importantes 00:23:43
de los métodos que ofrecen 00:23:45
pero, ahora sí que vamos a parar 00:23:46
dos minutitos 00:23:49
porque tenemos otra posibilidad 00:23:50
que es hacer conjunto 00:23:53
las listas están muy bien y son estupendas 00:23:53
pero 00:23:56
hay veces que yo no necesito 00:23:58
en cada elemento que meto 00:24:01
tener la posición registrada 00:24:03
no lo necesito 00:24:05
tengo todos a mogollón y me da igual 00:24:05
en qué orden los metí, en qué posición están 00:24:08
me da lo mismo 00:24:10
entonces si me da lo mismo 00:24:11
puedo programar esa colección de forma más sencilla 00:24:13
porque no tengo que llevar un registro 00:24:16
de la posición 00:24:19
bueno, pues esos son los conjuntos 00:24:19
colecciones en las cuales 00:24:22
no llevo un registro de la posición 00:24:24
se tendrán que implementar de otra manera 00:24:26
¿vale? 00:24:29
venga, pues paramos dos minutillos 00:24:31
de nada, hombre 00:24:33
son 10 euros 00:24:35
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Primer Curso
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
11
Fecha:
4 de febrero de 2025 - 17:16
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
24′ 37″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
938.00 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid