BUSCAR 🔍 en una COLECCIÓN de OBJETOS en Java ☕

Sdílet
Vložit
  • čas přidán 24. 07. 2024
  • Veamos paso a paso cómo encontrar un objeto en una colección sabiendo algún ID. En el proceso iremos refinando el algoritmo, pasando por 'for con break', luego while y, por último, un Iterator.
    Descargá el código de aquí: github.com/CharlyCimino/busqu...
    🙌 ¡APOYÁ AL CANAL! Si te gusta mi contenido, invitame un cafecito 😁
    ➡️ Desde Argentina: cafecito.app/charlycimino
    ➡️ Fuera de Argentina: paypal.me/charlycimino
    📌 Dejá tu comentario 📝, dale 'like' 👍, suscribite al canal 👥 y activá la campanita 🔔 ¡GRACIAS!
    🤳 ¡Seguime!
    🌏WEB PERSONAL: charlycimino.com 🌏
    🌎INSTAGRAM: / charlycimino 🌏
    🌍FACEBOOK: / charlyycimino 🌏
    🌏LINKEDIN: / charlycimino 🌏
    🌏GITHUB: github.com/CharlyCimino 🌏
    🌏TWITCH: / charlycimino 🌏
    🌏PATREON: / charlycimino 🌏
    0:00 Intro
    0:46 Presentando el ejemplo
    1:50 Usando un método de búsqueda
    4:27 Definiendo el método 'buscarAuto'
    10:46 Usando ciclo 'while' en 'buscarAuto'
    14:15 Haciendo más eficiente el algoritmo
    18:25 Haciendo el algoritmo compatible con cualquier colección
    23:58 Cierre
    #POO #Java #ArrayList
  • Věda a technologie

Komentáře • 50

  • @CharlyCimino
    @CharlyCimino  Před rokem

    🙌 ¡APOYÁ AL CANAL! Si te gusta mi contenido, invitame un cafecito 😁
    ➡ Desde Argentina: cafecito.app/charlycimino
    ➡ Fuera de Argentina: paypal.me/charlycimino
    📌 Dejá tu comentario 📝, dale 'like' 👍, suscribite al canal 👥 y activá la campanita 🔔 ¡GRACIAS!
    🤳 ¡Seguime!
    🌏WEB PERSONAL: charlycimino.com 🌏
    🌎INSTAGRAM: instagram.com/charlycimino 🌏
    🌍FACEBOOK: facebook.com/charlyycimino 🌏
    🌏LINKEDIN: linkedin.com/in/charlycimino 🌏
    🌏GITHUB: github.com/CharlyCimino 🌏
    🌏TWITCH: www.twitch.tv/charlycimino 🌏
    🌏PATREON: patreon.com/charlycimino 🌏

  • @wilbertsilva1477
    @wilbertsilva1477 Před 2 lety +6

    Un maestro así, hasta ganas de estudiar da. Excelente video. Saludos

  • @pedroojesto4989
    @pedroojesto4989 Před rokem +4

    Charly, mil gracias por tu trabajo!!!! -Me encantaría ver otra serie de videos tuyos sólo dedicados a estrategias de datos y búsqueda en colecciones, contenedores, secuencias y árboles..

    • @CharlyCimino
      @CharlyCimino  Před rokem +2

      Gracias a vos. Es la idea, profundizar en algoritmos y estructuras de datos. Ya llegarán 🤞🏻

  • @osirisherrera4272
    @osirisherrera4272 Před rokem +1

    Sos Grande, saludos desde BArcelona España, me has hecho la luz gracias mil.

  • @elbleider
    @elbleider Před 11 dny

    Con estas explicaciones ¿Cómo hago para no recomendarte? Eres un verdadero maestro

  • @agustinsequeira3402
    @agustinsequeira3402 Před měsícem

    me salvaste con "equals" maestro ! no podria encontrar donde estaba el error , gracias por el video

  • @maximilianoorellana4295
    @maximilianoorellana4295 Před rokem +1

    Grande Charly, muchas gracias por tus videos, me encantan. Siempre algo nuevo que aprender. espero pronto dar con el video donde explicas el Iterator. Gracias

  • @estebanczm
    @estebanczm Před rokem

    Este material vale oro!

  • @sanperseus
    @sanperseus Před rokem

    charli mil gracias te amo

  • @johanmanuelpinedahernandez7103

    Buenísimo... Increíble

  • @josemariacuencasaravi
    @josemariacuencasaravi Před 2 lety +4

    Charly sos un genio!! me estoy dando una sobredosis de tus videos este finde! Es fabuloso como incorporo conceptos nuevos y ya los estoy utilizando.. AL FIN ME CAYÓ LA FICHA DE LA POO!! jeje, pero te hago una consulta, cuando reemplazaste el forEach por el while ¿no se podía cambiar a un for loop convencional? (igual entiendo que, sin entrar en detalles de las otras colecciones -que aún no conozco-, el iterator es mucho más escalable)

    • @josemariacuencasaravi
      @josemariacuencasaravi Před 2 lety

      ahh... ya me di cuenta!! porque agregás la condición en el while para que corte!! lo entendí mejor en el siguiente video cuando creaste el método para borrar el instrumento!!!

  • @chuquimiamamaniluisandres2282

    Gracias por el video

  • @elkinlimasrojas1294
    @elkinlimasrojas1294 Před rokem

    Me gustan sus videos

  • @ddgi4791
    @ddgi4791 Před rokem

    Finoli finoli quedó.

  • @miguelangellimaicoferrin9894

    Charly siempre acudo a tu canal cuando tengo dudas, muy buenos videos, gracias mil, podrías hacer un video sobre los hashmap no logro entender como funciona 🙏

    • @CharlyCimino
      @CharlyCimino  Před rokem +2

      Cuando le dedique a las colecciones. Un HashMap es un diccionario clave-valor. En lugar de indexar un dato usando enteros (como hacen la listas) indexás usando lo que quieras, por ejemplo, un String. Por ejemplo, si vas a un diccionario inglés-español y buscás la clave "dog" obtienes el valor "Perro", por ende, ahí tanto el index cómo el dato son String, por eso al declarar el HashMap pondrías
      Espero ese resumen te ayude un poco. Saludos

  • @victorevangelista8656

    Buen video y muy bien explicado como siempre y si, ya quiero llegar a la parte de conceptos que mencionas para poder entender el iterador, jejejeje. Entonces yo entendí que, con un iterador podemos recorrer y obtener cualquier cantidad de elementos independientemente del tipo de colección en la que estén contenidos.

    • @CharlyCimino
      @CharlyCimino  Před rokem +2

      Así es, lo entendiste bien 😀

    • @victorevangelista8656
      @victorevangelista8656 Před rokem +1

      @@CharlyCimino ok pero hay una parte que no me queda muy claro. En este ejemplo, ¿El iterador sustituye totalmente a los códigos de búsqueda que mostraste o hay algún caso en específico donde no siempre es recomendable utilizarlo? Por ejemplo, si mi programa tuviera puros ArrayList y solo quisiera buscar unos pocos, ¿Siempre conviene utilizarlo?

    • @CharlyCimino
      @CharlyCimino  Před rokem +2

      @@victorevangelista8656 si por alguna razón tenés que recorrer al ArrayList de una forma no natural (por ejemplo, de dos en dos o en sentido inverso) no te sirve el iterador. Lo mismo si necesitas los índices para trabajar con otra estructura en paralelo o hacer cálculos

    • @victorevangelista8656
      @victorevangelista8656 Před rokem +1

      @@CharlyCimino ok ya veo para tenerlo en cuenta. Muchas gracias profe por enseñarnos!!!!!

  • @alfonsobaut9597
    @alfonsobaut9597 Před 2 lety

    La velocidad usando iterator es mayor?

  • @johanmanuelpinedahernandez7103

    Se podría declarar la variable auto como Collection para hacerlo más desacoplado?

  • @diego.777ramos
    @diego.777ramos Před rokem

    Cuales serían los buenos usos del break ?

    • @CharlyCimino
      @CharlyCimino  Před rokem

      En la estructura "'switch" es algo inevitable, dado que sino se ejecutaría todos los 'case' a partir del que te dio coincidencia. En otros casos, 'break' (o también el 'continue') son instrucciones que permiten manipular las estructuras de repetición alterando la naturaleza de lo que dice su cabecera, por ende, hay que usarlos a conciencia, solo en los casos donde realmente sea un beneficio significativo para la legibilidad y/o eficiencia del código, de lo contrario, afecta mucho el seguimiento y la depuración

  • @alexdev__
    @alexdev__ Před 2 lety

    Na loco, sos un genio!!!! como hago para verificar si por ejemplo: Si estamos en interaccion con el usuario, o mas especificamente un beta testing y la hora de la busqueda, quiere agregar un auto con la misma patente? Es recomendable el uso de la lista hashset?

    • @CharlyCimino
      @CharlyCimino  Před 2 lety

      Mejor un HashMap. Indexás por clave (la patente). Por definición, no puede haber claves repetidas

    • @alexdev__
      @alexdev__ Před 2 lety

      @@CharlyCimino Puede ser que si inserto la misma patente, sobreescribe al objeto que quiera añadir? es decir, que el auto que estaba antes ya no existe debido a que el nuevo auto pisa al anterior por tener la misma clave?
      Por eso decia lo de hashset*

    • @CharlyCimino
      @CharlyCimino  Před 2 lety

      @@alexdev__ claro, deberías validar la existencia de la clave antes. Con HashSet obtendrías una excepción

  • @sanperseus
    @sanperseus Před rokem

    joa jhon dimas me estabas matando

  • @ALaGrandeLePuseCuca023

    Hola, Charly. ¿Puede ser que dar clases en el programa Codo a codo? en el caso que si me podrias decir que materia , dias y horarios, gracias.

    • @CharlyCimino
      @CharlyCimino  Před rokem

      Hola, si. Aún no me han confirmado horarios para el próximo cuatrimestre, probablemente esté en Python, en el turno tarde

    • @ALaGrandeLePuseCuca023
      @ALaGrandeLePuseCuca023 Před rokem

      @@CharlyCimino no sabes que horarios aproximadamente y días??? Porque hay un montón! 😞

    • @CharlyCimino
      @CharlyCimino  Před rokem +1

      @@ALaGrandeLePuseCuca023 probablemente lunes y jueves entre de 14 a 17 hs (tengo dos comisiones seguidas)

  • @facundoherrera7846
    @facundoherrera7846 Před rokem

    Una pregunta profe pero Iterator no está deprecado??

  • @SebastianGonzalez-nh7hq

    Me gusto harto, donde hay ejercicios para practicarlo ajja

  • @osirisherrera4272
    @osirisherrera4272 Před rokem

    Cimino, por fa SE mi Mentor!!!

    • @osirisherrera4272
      @osirisherrera4272 Před rokem

      No es un misterio que uso tu lógica, en mis algoritmos, según dicen aquí son complicados pero haciendo analogías, es como picarla para hacer gol, o reventar la red...

  • @brentbyrd1684
    @brentbyrd1684 Před 2 lety

    😋 Promo-SM!

  • @mak4rno
    @mak4rno Před rokem

    Disculpa Charly que te lo diga así, pero no me gustó la manera en que lo abordaste. Es cierto que intentaste hacerlo eficiente y "correcto", pero la experiencia y cientos de hora en StackOverflow me han demostrado que antes que hacer una gran eficiencia es importante que el código sea fácilmente entendible y actualizable. Lo que hiciste en la validación del while es un quilombo que tendrán que venir a ver tu tutorial cada vez que quieran saber por qué está así. Un return bastaba.

    • @CharlyCimino
      @CharlyCimino  Před rokem +1

      Hola. El eterno debate: hacerlo así o con un "for each y un return/break adentro". Mi solución es más académica y la que vos proponés es más corta pero con malas prácticas (romper abruptamente los ciclos) según los libros. El público al que apunto yo es a los alumnos que recién comienzan, que están cursando una carrera y mi intención es enseñar la programación desde ese lugar, no para los que ya saben y laburan de esto y ya tienen sus mañas. También es cierto que después, en mis propios códigos a veces lo hago como decís vos, pero bueno, cuando uno ya adquiere experiencia elije cómo encarar la solución sabiendo lo que gana y lo que pierde. Gracias por tu comentario. Saludos

  • @andresa9913
    @andresa9913 Před 2 lety

    Excelentes videos!, tendras un video hablando del objeto Iterator? @Charly Cimino

    • @CharlyCimino
      @CharlyCimino  Před 2 lety +1

      Gracias ! Muy pronto se vendrán videos sobre patrones de diseño, incluyendo el Iterator. Saludos

  • @ezequielstom6745
    @ezequielstom6745 Před rokem