Bien, en esta clase continuamos con las listas enlazadas con el Linke de List.
Entonces podemos manipular el primer elemento, el último de diferente forma, ya sea para agregar,
para eliminar, para obtener, en fin, de forma muy eficiente y muy rápida, tanto para manipular los
elementos, para acceder.
En fin, comencemos.
Vamos a trabajar de la base del ejemplo ArrayList, pero lo vamos a copiar y pegar para no reemplazarlo.
Entonces copiamos.
Ejemplo ArrayList lo pegamos en el back set, lo modificamos.
Entonces en vez de array es linked perfecto.
Cerramos ArrayList y comenzamos acá linked list@.
Entonces, en vez de rey Linked List importamos, ya lo tenemos.
Bien, si se fijan funciona bien con el ejemplo anterior, pero la idea es ver y manipular un poco los
límites.
La cabecera y la cola.
Vamos a modificar esto.
Voy a quitar acá el índice 2, solamente que lo agregue acá también, pero con el add perfecta.
Ya tenemos algunos alumnos.
Y esto lo quitamos y comenzamos desabasto.
Lo primero que vamos a hacer es agregar más alumnos a nuestra lista.
Pero al principio y al final a L bueno, en vez de a L, porque a l de ArrayList simplemente le pudieron
colocar enlazada.
Ven acá.
Me abracé enlazada.
Bueno, acá hay que imprimir también, falta acá también también.
Si modificamos todo lo que sea a L por enlazada y acá enlazada a punto agregar ADD ya tenemos método
nuevo.
Ah, pero acá hay un tema que estamos tratando con list y list.
La interfaz tiene los métodos en común, no tiene los métodos propio del like.
Tiene que ser el tipo Linke del list acá.
Entonces Linke List.
Perfecto.
Ahora sí, como del tipo de una lista enlazada.
Ya tenemos más Methos Agregar primero, agregar último entonces agregar primero new alumno.
Por ejemplo zeos con nota 5.
Punto.
AT last.
Agregar Último New Alumno
Nota 6 Íbamos a mostrar vamos a copiar, esto lo pegamos acá, veamos.
Bueno, primero para tocatas luce los datos originales tan 3 5 alumnos, pero acá agregamos 2 más 7
como primer elemento o en la cabeza tenemos A-6 con nota 5 agrega el primero y último elemento.
Al final tenemos Athenea y para poder realizar esto se tiene que desplazar los elemento.
Por ejemplo para agregar primero Fears, pero con la lista enlazada ese trabajo de manipular datos mucho
más rápido y eficiente que una red list.
Entonces trabajar con la piel, con la cola y manipulando elementos intermedios es mucho más rápido.
Veamos otros métodos, por ejemplo, Shout.
Quiero obtener el primero y el último, pero para eso tenemos métodos como ejemplo Get first y quiet
last.
Entonces enlazada punto get first.
Primero, de hecho, acabo de colocar primero
y acá Soto último
get last.
Veamos.
Primero Zeos, último Athenea, o bien mediante el índice shout con el índice.
Por ejemplo, 2.
Simplemente yeta juntos y acaba mostrara cauta porque Cata se desplaza a la posición 2 y Pato queestaban
acero a la 1, porque agregamos a 0 como primer elemento.
Bien, continuemos.
Y otro método que muy equivalente, por ejemplo, en vez de utilizar el get first.
Bueno, a todo esto, el first si no encuentra elemento, por ejemplo, si la lista está vacía, va
a lanzar una excepción a casi fijan una excepción no encuentra elemento exception.
Si la lista tasía.
Pero acá tenemos otro método que similar, que también mucha gente se confunde, que es pic, pic first
y last, por ejemplo Pic last, que es equivalente a jet lag.
Pero la diferencia es que no lanza escepción, simplemente retorna null.
Si elemento no existe, recibe pero no elimina y obtenemos el último elemento de la lista.
Pero, pero si no encuentra elemento en la lista, retorna null en vez de lanzar la acepción.
Por lo tanto, muy similar lo vamos a probar.
Último Athenea es muy parecido al Guet First in the last.
Acá también tenemos el pick first parecío.
Ãseos a tener.
Pero la diferencia es que uno lanza la excepción con el jet y el pic, no?
Listo, es el diferencia.
Bien, veamos el remove enlazada punto Remu.
También tenemos varios First Last 12 elimina el primero y enlazada punto eliminar último remu last Bueno,
va a eliminar a Athenea como último y primero.
Bueno, y acá retorna el objeto que se elimina.
Es decir, elimina el objeto y lo devuelve.
Es como extraer de la lista.
De hecho, acá podría colocar alumno etes first zeos y acá postergo consejos.
Lo elimino.
La lista lo tengo y puedo hacer algo por otras aconsejais, pero ya la lista no existe.
De hecho, voy a imprimir acá.
Pato.
Posición 0.
Posición 1 y así 5 elementos al final es como eliminar y extraer y también hay métodos que son parecío,
por ejemplo Remote offers.
Acá dice que lanza excepcion cuando no encuentra elemento en la lista.
Cuando está vacía y está bien, no encuentra, está vacía.
No puede eliminar ni primero ni último porque no hay lanza excepcion.
Pero también hay otro método que son similares, pero retorna null.
A diferencia de lanzar la excepción, por ejemplo acá en vez de remove es con pull, con pull, pull
first, pull last o simplemente pull, pero simplemente pull es similar o lo mismo que first elimina
primero, siempre elimina en la cabecera cabeza del stack o de la lista.
Llega.
Tenemos el último pull first también elimina.
Baldazo de hecho, veamos recibe y elimina el primer elemento de la lista y retorna null.
Si la lista está vacía, a diferencia de lanzar excepción con el remu, pero es lo mismo.
Pato Tocatas se fijan y también lo extrae y tem. tenemo otro que es el pop pop.
Qué hace el pop?
Bueno, es lo mismo.
Elimina y retorna el primer elemento de la lista, pero acá muy similar o prácticamente es lo mismo
que el remu first.
Es decir, este método siguió lente al remote first.
El pop, porque también hacer excepción.
Entonces hay que tener en cuenta esos detalles.
Entonces el pop similar al remu first.
Pero el pool first es similar, pero retorna nulo si no existe.
También se fija, extrae.
Lo he comentado esto acá.
Y voy a dejar con el removí enlazada.
Punto, remó First,
remó Last.
De esto.
Pero igual que el ArrayList.
Bueno, podemos eliminar el objeto mediante el índice, o bien mediante la misma instancia, por ejemplo,
enlazada.
Punto rimo.
Y si fijan el ritmo, óblast retorna alumno.
El último, el único que se elimina.
Obviamente Erfurt el primero.
Lo mismo que el pop, lo mismo que el pull first pulas.
En fin.
Pero el remu.
Acá tenemos el remu que recibe el índice retornÃ el alumno, pero el creció el objeto Retana ambulan
si se eliminó o no el ritmo a secas retorna el alumno, pero acá elimina el primer elemento, no el
último, siempre lo que son a secas.
Por ejemplo, remu acá elimina el primer elemento, es decir, elimina, recibe y elimina el que está
en la cabecera de la lista.
Primer elemento en este caso, retorna a la sección.
Por lo tanto, este sería igual que el remove first es equivalente remu fears o el pop.
Bien, pero quiero eliminar por el objeto.
Por ejemplo, quiero eliminar a Jano Jano con nota 7.
Entonces nuevo alumno Jano nota 7.
Tenemos que volver a imprimir.
Voy a copiar, voy a pegar.
Acá aparece Jano, se fijan acá este majano, pero acá no, porque lo eliminamos con Rainbows.
Alumno Vamos a agregar 1 alumno, le vamos a llamar a igual New Alumno, por ejemplo a Lucas con nota
5 entonces enlazada.
Punto at last lo vamos a agregar como último elemento.
A ajumma perfecto y tem. tenemos el método index off, es decir, obtener el índice del elemento y pasar
el elemento por instancia.
Shout índice de lucas
enlazada.
Punto index of.
Y pasamos el objeto es importante el equals también, porque lo va a buscar por el nombre y por supuesto,
por la nota.
Entonces pasamos la referencia, edea el objeto y pasamos el objeto, nos devuelve el índice.
Índice Lucas 4.
Y está bien, porque teníamos acá 1, 2, 3 4 5 5 elementos.
Agregamos 6, 7, 7 elemento tremos, pero después eliminamos, quedamos con 5 y después eliminamos
Majano.
Quedamos con 4 y Luca está en la posición en el índice 4.
Al final tenemos 5 elementos en realidad.
5.
Pero está en el índice 4 porque parten cero.
Entonces agrega como último elemento índice 4.
También podemos eliminar, como habíamos visto en el ejemplo anterior, enlazada punto remove por el
índice.
Por ejemplo, vamos a eliminar al Índice 2.
Levantamos.
Quería imprimir esto.
Levantamos.
A. S. elimina a Lucy Pato está en el cero, Cata en el 1.
Lucy en el 2.
Lloran 3.
Pasa a estar en el 2 y Lucas en el 3.
Ahora podríamos ver de vuelta acá a Lucas.
Bien dice Lucas 3 que sería el último.
Y para finalizar, enlazada punto set para modificar, por ejemplo, la posición 3, que es Luka.
Entonces vamos a cambiar a Luka o reemplazar a Lucas por New Alumno Lalo con nota 7.
Veamos entonces ahora, en vez de Lucas, vamos a tener al lado Lucas nota 5, pero acá al alba lo reemplaza
en la posición 3 y por supuesto también tiene los método contains y mucho más, pero estos son lo más
importante, sobretodo para trabajar en la pila y en la cola, nada más.
Continuamos en la siguiente clase.