20250204 RepasoConceptosListas - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
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
no
00:22:06
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