Bien, qué pasa con los valores únicos en un Trichet?
Por ejemplo, voy a copiar 6 tal cual este de acá, lo copiamos y vamos a levantar.
Qué sucede?
Levantamos los supuestamente ZEOS está repetido.
Por lo tanto, no se incluya.
Se fijan?
Bueno, pero cómo lo detecta?
Cómo hace o cómo identifica que un valor está repetido o no en un Trichet?
Por qué no es Zeth?
Es otro cuento que después vamos a ver.
Pero en un Trecet, cómo lo hace?
Bueno, según el método comparto.
Es importante entonces cuando estos dos objetos o por el atributo que está comparando si es cero porque
está repetido, entonces si la nota de estos geto comparada con la nota del otro objeto.
Si son iguales, son cero.
Está repetido, pero repite por la nota.
Entonces cualquier nota que esté repetida la voy omitir y solamente dejar una sola.
Por ejemplo, en vez de seis voy a colocar Lucas.
Fíjense bien Lucas.
Lucas no está tipifican.
No está repetido.
Pero la nota 2 sí está repetida.
La tiene 6.
Entonces voy a ejecutar.
Deja Zeos.
2 Pero Lucas no aparece entonces.
Bueno, ese es el punto.
Detecta un valor repetido mediante el compartid.
De hecho, podríamos cambiar acá.
Voy a comentar esto en vez de comentar acá.
En realidad.
En el.
En el comparador.
Acá.
En vez de nota.
Por nombre.
Entonces acá nombre.
Porque los Oric.
Clive nombre.
Perfecto.
Ahora fíjense bien Zeos.
Lucas.
Lucas no aparece porque supuestamente está repitió la nota, pero modificamos el comparto.
Entonces ahora debería aparecer porque la regla de unicidad ahora es mediante el nombre, no la nota.
Veamos.
Nota 3 André, pero me interesa anotados Lucas acá y percatemos 6 se fijan ahora aparece Lucas.
Pero qué pasa si repito haceos tal cual?
Con otra nota Dreyman Dos o cualquiera.
Ahora desaparece.
No 6.
Por qué ahora ordenamos por nombre?
Entonces, si el nombre da igual, recuerden que con tu es igual cuando es cero.
Si son iguales, retorna un cero.
Ahí detecta que está duplicado, incluso puede colocar una nota cualquiera que no aparezca.
8.
Se fijan.
8.
No aparece.
Pero si tengo repetido Zeos.
No aparecen, pero si colocamos Lucas, ahora aparece.
Se fijan por acá tenemos lucas independientes y la nota está o no repetida.
Voy a colocar 6 repetida, pero va a seguir apareciendo.
Acá se fijan.
Incluso podríamos volver acá por nota, por nota, por nota acá.
Ahora, como esta repetida por 6.
Solamente bajar katha.
Pero a Lucas no, Lucas va a desaparecer.
Se vigen Cata esta, pero Luca no está a menos que coloquemos nota 8 a s.
Ahí aparecen Lucan Nota 8.
Incluso podríamos repetir 6.
Pero da lo mismo, lo ha repetido.
Lo que importa que la nota 6 NOTA 8 6.
Nota 2 se fijan entonces.
Lo importante es el método compartido o con Pareto.
Entonces de ahí va a decidir si es único o no?
Ahora, qué pasa con un asset?
Es diferente porque no es ordenado.
Entonces no es con el compartido.
Es a través del método equals.
Y también el casco es una combinación.
Primero compara los Ascot y si detecta que los objetos tienen el mismo cascote.
Bueno, ahí recién compará por el lículas y si es igual ya en el equals lo va a suprimir de la lista.
No lo va a duplicar.
Veamos el ejemplo.
Entonces vamos a copiar este ejemplo tal cual.
Ejemplo Tricel comparable.
No voy a copiar, lo voy a pegar en el set.
Vamos a modificar, vamos a cambiar acá.
Auch!
Set
unicidad.
Perfecto.
Voy a cerrar acá el comparable para no mezclar y dejar el alumno perfecto.
Voy a modificar acá.
Bueno, esto lo quito ya.
Recuerden que no son ordenados.
Y acá Jazzy.
Lo impor?
Voy a quitar el Trecet dejando solamente el etcetc bien.
Veamos, por ahora tengo repetido el 6.
Veamos qué pasa.
Y el alumno solamente tiene comparto, pero no tiene nada más.
Sea 1 o 2.
Según nota 8.
Según nota Two, que sean prácticamente iguales ahora, ojo, no son instancias idénticas, son distintas
instancias.
Eso sí.
Sea 1 o 2 y acá tenemos xeo nota 2 ya no es el mismo objeto, son tanza distinta, pero con los mismos
valores en sus atributos y eso que tener en cuenta.
De hecho si corto esto y lo dejamos afuera y creo el objeto, por ejemplo acá alumno Z igual Ãseos y
dejamos a Zeta acá ya Zeta acá.
Bueno, ahí sí que son idénticos y obviamente porque la misma referencia mi objeto que apunta a una
misma dirección en la memoria.
Entonces si ejecutamos va a haber uno solo.
Nota 2 Se fijan, no hay otro zeos porque por defecto al igual compará por referencia si los dos objetos
son iguales, como apunta la misma memoria, el mismo puntero, obviamente no se repite.
Pero lo que quería ver es otro tema.
Control Z
es cuando tenemos objetos referencia distintas, pero con mismos valores te dejan.
Entonces ahora, cómo puedo hacer para que no repita estos datos?
El objeto con los mismos valores se fijan como no podemos hacer bueno con el lículas y con el arco.
Vamos a ver.
Entonces vamos a implementar estos métodos debajo del compartid por acá.
Recuerden que lo podemos hacer manualmente o a través del IDE.
Ya hemos visto estos métodos.
De hecho, la implementación es súper simple.
Entonces clic derecho Generated acá y quĂŠ y asco.
Típicamente se utilizan para colecciones siguiente y acá indicamos Bueno, respecto al equals, si quiero
incluir por ejemplo nombre y nota existe.
Todos son iguales, son idénticos.
No se puede repetir en el seto.
Lo va a tomar como un objeto único.
Se fijan lo mismo.
Gasco nombre y nota siguiente.
Esto acá es lo mismo, finalizar solamente indica que no pueden ser nulo.
Bien, entonces primero compará por instancia si son Nygma instancia y a mi me referencia hacia la memoria,
son iguales.
No hay nada más que hacer, nada más que comparar que justamente lo que hace por defecto el método equals.
Pero luego si son distintos, son distintas referencias.
Ahora tenemos que entrar a comparar por atributos, pero primero valida, cierto?
Sí, que este no sea nulo y nulo.
Bueno, retornamos Fals y también si son de distinto tipos, retornemos fols.
Tienen que ser del tipo alumno.
Bien, hacemos el cast alumno y comparamos objects, una clase helpers o de utilidad con el método equals
y comparamos dos atributos de dos objetos nombre dice nombre de este objeto en cuestión de tambiï.
Mentaria comparado con el atributo nombre del objeto que se pasa por referencia acá lo compara.
Pero además compramos por nota.
Entonces.
Finalmente.
Como una llave.
Nombre y notas son una llave.
Tienen que ser únicos e irrepetible.
Lo que sí podría tener otro nombre con otra nota o otra nota con otro nombre, eso sí.
Pero repetir estos dos no se fijan.
Y el asco lo mismo.
Primero recuerden compará por el asco una que que son iguales, compara con el licuar.
Y si el equals es igual, lo quita.
Si no es igual, no le quita.
Es decir, no lo repite, lo deja como único.
Ahora probemos.
Se fijan Zeos.
Está repetido igual que la nota y acá también.
De hecho, anteriormente lo muestra cuando no teníamos el asco ni el equals.
Lo tenemos acá y lo tenemos acá.
Ahora, si volvemos a ejecutar, va a aparecer uno solo.
Zeos No todos, uno solo no está repetido, se fijan porque ambos son la llave.
Tienen que ser únicos.
El nombre junto con la nota, pero estoy los consejos.
Nota 3.
Por ejemplo, ya cambia.
Ya no son iguales.
Entonces tenemos por acá un zeos.
Nota 3 y un 6.
Nota 2 ahora podría ser mi más nota.
Nota 2 y nota 2, pero cambio el nombre, por ejemplo, 6, 2 y 6.
Un nombre que queda.
Zeos.
2.
Nota 2 Y porque tenemos zeos?
Nota 3 decir notas 2 perdón.
Y podríamos tener incluso otro más.
Voy a copiar.
Podré tener a Lucas
incluso otro más.
Lucas con nota 3 y combinaciones.
Entonces tengo Ãseos 2 2 6 2 2 6 2 que buscarlo a captÃ Ãseos.
Nota 2 Lucas Nota 2 Busquemos a Lucas.
Lucas nota 3 y Lucas nota 2 se fijan son únicos, pero no podría tener el mismo par de combinaciones
repetido.
Entonces así es como detecta un hct la unicidad que sean únicos.
Y lo mismo con el Trichet, con el compartid te dejan sonto implementación distinta.
Entonces al final un triceps es un árbol balanceado que ordena y también compara mediante el ordenamiento
que le demos y el asset mediante el equals y el asco de que se basa en algoritmo asco.
Y también si nos vamos a alumno y solamente el Ascot lo dejamos por nombre.
Bueno, hoy cambia la llave, automáticamente va a detectar a los únicos solamente por el nombre.
Es decir, va a quitar a Lucas de la lista.
Zeos aparece también 6 2 y un solo Lucas.
Pero me faltó perdón.
Ojo, no faltó quitarla de acá también.
Perdón.
Hay falta de quitarlo de acá?
tUralmente, por nombre ese.
Volvemos.
DC Lucas 2 Nota 2.
Pseudos nota 2.
Y tenemos zeos notados, pero dejó un solo Lucas, se fijan, no los dos.
Incluso se quiere quitar el otro Zeos.
Va a dejar ahora un solo 6 nota 2 y un solo Lucas, es decir, el nombre nuestro por repetir la nota,
da lo mismo.
Pero lo vamos a dejar como estaba.
Control Z.
Recuerden Objects Punto Jazz es una clase Halpert con el método estático jazz.
Ya la podemos utilizar lo mismo que el cuarzo de la clase objects de utilidad, aunque también lo podemos
hacer con el método equals, por ejemplo Disc nombre, punto y equals alumno punto nombre.
Bueno, eso lo vimos también por ahí.
Yo me acuerdo de que lo vimos bien.
Y el cascote.
Recuerden que es un algoritmo que nos permite tomar datos complejos, por ejemplo nombre, nota y varios
atributos y transformar esto, convertirlo en un valor único del tipo entero primitivo.
Entonces, finalmente es una representación del objeto con los atributos que queramos comparar para
que sean únicos y los convierte en uno entero.
Y si hace este objeto completamente único.
Nada más.
Continuamos en la siguiente clase.