Curso Java. Programación genérica. Métodos genéricos. Vídeo 166

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 ต.ค. 2024
  • En este vídeo vemos los métodos genéricos.
    Para más cursos, ejercicios y manuales visita: www.pildorasinf...

ความคิดเห็น • 91

  • @pildorasinformaticas
    @pildorasinformaticas  ปีที่แล้ว +1

    ✅✅ ✅ ✅ ✅ Todos mis cursos gratuitos 👉 www.pildorasinformaticas.es ✅✅ ✅ ✅ ✅
    🚀 ¿Quieres ejercicios? ¿Quieres más temario? 👉 www.pildorasinformaticas.es/course/java-tutorizado/🚀
    🚀 ¿Quieres que te resuelva las dudas de Java? 👉 www.pildorasinformaticas.es/course/java-tutorizado/ 🚀
    💥💥💥 Siempre seguiré subiendo cursos gratuitos por aquí. Gracias a todos por seguirme. 💥💥💥

  • @bluehelion
    @bluehelion 2 ปีที่แล้ว +6

    Es increíble toda la información que aportas en tus vídeos ya no sólo el como enseñar conceptos nuevos de una manera tan sencilla (que no es fácil y se valora muchísimo) sino además la documentación que añades en tus explicaciones de una forma tan limpia y clara. Eternamente agradecida como estudiante de programación por este grandioso aporte que nos ha dado.
    Muchisímas gracias Juan.

    • @jeoanan
      @jeoanan 2 ปีที่แล้ว +2

      Ese hombre en cada capitulo sorprende, y más cuando uno ve que lleva mas de 7 años el vídeo pero sigue siendo util, sencillo y funcional.

  • @ezequielmorales8115
    @ezequielmorales8115 2 ปีที่แล้ว +2

    Siempre recurro a pildorasinformaticas en algún momento del año, hoy nuevamente aprendiendo con usted, un lujo.

  • @harrisonmartinez4531
    @harrisonmartinez4531 ปีที่แล้ว

    Es impresionante la claridad y detalle para explicar un tema tan abstracto como lo es los metodos genericos, gracias profesor Juan!

  • @marioprado8789
    @marioprado8789 ปีที่แล้ว

    La cantidad de información que brinda y nos regala es muy valiosa.
    Aquí ando, aprendiendo un poco para ir subiendo el nivel.
    Gracias.

  • @redactoresseo2805
    @redactoresseo2805 3 ปีที่แล้ว +2

    M está gustando mucho la programación genérica, te evita muchos quebraderos de cabeza. Gracias por los vídeos

  • @katthacar
    @katthacar 7 ปีที่แล้ว +15

    Excelentes videos, mis felicitaciones...
    Sugerencia: Para los que no saben y quieren practicar un poco más, se pueden comparar instancias de objetos creados por nosotros, haciendo que implementen la interfaz Comparable y sobreescribir su método compareTo(), por ej:
    Yo tengo una superclase abstracta Persona de la cual pueden heredar varias más (Empleado, etc), luego, en la clase Persona implemento la interfaz Comparable y en esta misma sobreescribo el método compareTo para que todas las clases hijas de Persona sean comparables:
    @Override
    public int compareTo(Persona p) {
    if (this.edad > p.edad) {
    return 1;
    } else if (this.edad < p.edad) {
    return -1;
    }
    return 0;
    }
    En este caso el método compareTo lo sobreescribo en la clase abstracta Persona, de no hacerlo allí tendría que hacerlo en cada clase que herede de esta, ya eso queda según la necesidad del programador.

    • @pildorasinformaticas
      @pildorasinformaticas  7 ปีที่แล้ว +2

      Correcto !! hablo de CompreTo y la interfaz Comparable en el curso. No recuerdo ya el vídeo.... Un saludo!!

  • @-ejs-
    @-ejs- 6 ปีที่แล้ว +2

    Un millón de gracias por este canal!, me ha ayudado un montón para aprender a programar en java :).

    • @pildorasinformaticas
      @pildorasinformaticas  6 ปีที่แล้ว

      Gracias por el comentario. Me alegro de que te resulte de ayuda. Un saludo!

  • @albertuco95
    @albertuco95 5 ปีที่แล้ว +2

    Creo que me va bien gracias a que al final de cada vídeo dices que me vaya bien. Gracias!

  • @Daniel-gs4qu
    @Daniel-gs4qu 5 ปีที่แล้ว

    Felicidades. Tus videos son muy profesionales. Ha pasado mucho tiempo desde ahora que estoy estudiando, pero estos conceptos siguen persistentes. Gracias por tu contribución.

  • @efrainaoc
    @efrainaoc 5 ปีที่แล้ว +2

    Me enamoré del concepto de programación genérica.
    ¡Muchas gracias por todo profesor!, ya llevo un mes y ya ando por estos rubros tan interesantes.

  • @JoaquinLunaWainer
    @JoaquinLunaWainer 9 หลายเดือนก่อน

    Me sirvio mucho este video y me parece como sugerencia constructiva, que al buscar el menor elemento lo bucaras con un do while empezando a recorrer el array desde el elemento central hacia los extremos, comparando de a dos elementos al mismo tiempo y enseñar la buena práctica de utilizar la menor cantidad de ciclos. Y ademas añade el caso de contemplar si el array es par o impar

  • @jesuspastran5165
    @jesuspastran5165 9 ปีที่แล้ว +1

    Muy bueno de verdad voy en el video 50 tengo conocimientos previos de java pero de igual forma me ha ayudado mucho a comprender desde otro punto de vista otras cosas de una mejor manera para poder usarlos. Me animo a realizar curso de manera presencial sumado a lo que veo en la universidad mas estos videos es mucho lo que se logra de verdad gracias y saludos desde Venezuela.

    • @pildorasinformaticas
      @pildorasinformaticas  9 ปีที่แล้ว

      Jesus Pastran MUchas gracias por el comentario. Me alegro de que te resulten de utilidad los vídeos. Un saludo

  • @daddydanidim
    @daddydanidim 6 ปีที่แล้ว

    Acabo de conocer este canal, y esta genial, los videos concisos y precisos... GRACIAS MIL por este aporte.!!!!

  • @frankogb17
    @frankogb17 8 ปีที่แล้ว +8

    hola profe Juan, ojala no se le olvide tratar el tema de ajax en java y tambien en el curso de php, GRACIAS...

  • @juanpablonunez1333
    @juanpablonunez1333 2 ปีที่แล้ว

    Excelente Juan

  • @gilbertogalindez3812
    @gilbertogalindez3812 ปีที่แล้ว +2

    Por que extends en vez de implements? disculpen lo breve =)

  • @alejaosm
    @alejaosm 2 ปีที่แล้ว +1

    Muchas gracias salvaste un sprint en mi trabajo jajaja 🤣 💙

  • @figaarillo
    @figaarillo 3 ปีที่แล้ว +1

    Uff venia re feliz con las clases genéricas diciendo "como no aprendí esto antes" y pensando que las iba a usar un montón y ahora llegué a esto y se me hizo un quilombo la cabeza😂😂

  • @javiermaruiz
    @javiermaruiz 4 ปีที่แล้ว +1

    Al final acabas amando esto.

  • @yahiradrian5110
    @yahiradrian5110 6 ปีที่แล้ว +2

    😱 me encanta este tema de la programación genérica , muy bien explicado con lo de la magia xd

  • @teldatamcy5656
    @teldatamcy5656 7 หลายเดือนก่อน

    Excelente!!!, Gracias. Chévere cambur 🍌!!!!

  • @memejamas3818
    @memejamas3818 2 ปีที่แล้ว

    de lo mejor gracias profe

  • @AngelPC
    @AngelPC 8 ปีที่แล้ว +4

    Hola Profe, quisiera saber si ha hecho algun video sobre Nodos, listas enlazadas, pilas y colas y donde estaría. Muchisimas gracias por sus tutos un saludo desde Colombia.

    • @pildorasinformaticas
      @pildorasinformaticas  8 ปีที่แล้ว +5

      Hola !! Desde el vídeo 179 al vídeo 189 hablo de listas, colas, listas enlazadas etc. Un saludo

    • @AngelPC
      @AngelPC 8 ปีที่แล้ว

      Ok muchas gracias

  • @bubbango
    @bubbango 7 ปีที่แล้ว +1

    Muy pero que muuy buenos vídeos de programación haces. Quisiera preguntar si en un futuro enseñarás la programación funcional en java o en algún otro lenguaje. Muchas gracias.

    • @pildorasinformaticas
      @pildorasinformaticas  7 ปีที่แล้ว

      Gracias por el comentario. Es mi intención hacerlo en un futuro, pero no se cuándo (espero que pronto). Un saludo!!

  • @marcelelias2965
    @marcelelias2965 9 ปีที่แล้ว +3

    Buenas noches profesor. No entendi bien el porque se coloca en lugar de . na vez mas gracias por su ayuda. saludos!!!

    • @pildorasinformaticas
      @pildorasinformaticas  9 ปีที่แล้ว +3

      Marcel Elias Hola !! No te preocupes. En el próximo vídeo aclararé el por qué de esta instrucción. Un saludo

  • @joseKKX
    @joseKKX 7 ปีที่แล้ว +7

    pufffffffffffffff, corto y hasta mañana, exploté.

  • @francogarcia2668
    @francogarcia2668 3 ปีที่แล้ว +1

    El error que le veo al segundo metodo generico, que devuelve el menor, es que si es un array de 1 elmento te tira nullPointerException, porque el metodo recorre siempre, sin chequear, desde el elemento 1 (2do elemento de un array) y ahi se rompe todo

  • @josedronesytecnologia
    @josedronesytecnologia 9 ปีที่แล้ว +1

    Muy bien explicado.

  • @hebersolisbravo4502
    @hebersolisbravo4502 9 ปีที่แล้ว +1

    Buena explicacion, lo entendi bien, gracias

    • @wz_alex9798
      @wz_alex9798 6 ปีที่แล้ว

      porque dentro de una clase y
      dentro de un metodo generico de la misma no puedo usar un atributo de la clase
      RESPONDER
      ?

  • @mauriciopriego1700
    @mauriciopriego1700 3 ปีที่แล้ว

    Gracias.

  • @danieldiaz3343
    @danieldiaz3343 5 ปีที่แล้ว

    para utilizar el método compareTo pusiste lo de pero funcionaría igual si pusieses el extends Comparable arriba en donde pones public class MisMatrices?
    es decir, poniendo "class MisMatrices extends Comparable {"???

  • @Hector21211
    @Hector21211 4 ปีที่แล้ว +1

    porque no se le puede poner implements en el generico del metodo ejemplo:
    ?

  • @McSeeMo_
    @McSeeMo_ 6 ปีที่แล้ว

    Juan en este video utilizas objetos array simples (no array list) e instancias varios objetos de tipo empleados dentro del mismo, pero jamas le indicas dimension al array, es decir, no le dices cuantas posiciones tiene. Pense que esa era una cualidad unica de los arraylist, como puede ser posible?

    • @randallbiermann2525
      @randallbiermann2525 5 ปีที่แล้ว +1

      el simplemente usó otra forma de instanciar los arrays normales, pues la dimensión del arreglo se adapta a el momento que esta asignándolo y declarándolo.

    • @alejandro.m.gonzalez
      @alejandro.m.gonzalez 2 ปีที่แล้ว

      Se trata de la *declaración explícita* de un array estático, por la que damos un valor (inicializamos) los elementos del array:
      String[] rios = { "Amazonas", "Orinoco", "Uruguay", "Paraná", "Río de la Plata" };
      Es una forma explícita de declarar un array de 5 posiciones, lo que haríamos con la sintaxis:
      String[] rios = new String[5];
      En esta última declaración nosotros no damos un valor explícito a los elementos, pero el compilador sí. ¿Cuál es este valor? El *valor por defecto* del dato de que se trate: si es un entero, 0; si es un float, 0.0f, si es un boolean, false... y si es un objeto, cualquier objeto (los strings lo son) ¡null!:
      String[] rios = { null, null, null, null, null };

  • @JV-ds6tk
    @JV-ds6tk ปีที่แล้ว

    Me ha volado la cabeza lo de extens Comparable en el método. 🤣

  • @presentahn
    @presentahn 6 ปีที่แล้ว

    Buenas tardes Ingeniero Juan: tengo un problema en el video No. 15 al utilizar la clase javax.swing especificamente cuando declaro las variables de tipo String usando el metodo JOptionPane, me presenta el siguiente error; Multiple markers at this line
    - The value of the local variable nombre_usuario is not used
    - Access restriction: The type JOptionPane is not accessible due to restriction on required library C:\Program Files\Java\jre1.8.0_161\lib
    t.jar
    - Access restriction: The method showInputDialog(Object) from the type JOptionPane is not accessible due to restriction on required library C:\Program Files\Java
    \jre1.8.0_161\lib
    t.jar, he ingresado para darle rt.jar permisos de admnistrador pero sigue siempre el mismo error, no se como corregir el error. muchas gracias por su ayuda.

  • @theleyenda0078
    @theleyenda0078 2 หลายเดือนก่อน

    Min 22:20 Si es una interfaz, no se debería usar implements?

  • @JohnDoe-rj9oy
    @JohnDoe-rj9oy 4 ปีที่แล้ว +3

    21:18 Por qué extends y no implements?

    • @pildorasinformaticas
      @pildorasinformaticas  4 ปีที่แล้ว +6

      Porque se trata de un método y no una clase. La sintaxis de Java exige que así sea cuando un genérico hereda dentro de un método. Un saludo!

    • @cristianjelovcic
      @cristianjelovcic 4 ปีที่แล้ว

      Cuando, una interface hereda de otra interface, tambien se utiliza la palabra extends, en lugar de la palabra implements

  • @manueisabel
    @manueisabel 9 ปีที่แล้ว +1

    Hola juan espero que estés bien! he estado echando un vistazo al curso entero y quería saber si este es el curso entero de java o habría más? o la posibilidad de comprar el curso entero de java como lo tienes con htlm5. gracias por tu ayuda.
    Un saludo!

    • @pildorasinformaticas
      @pildorasinformaticas  9 ปีที่แล้ว +3

      alex martin Hola !! El curso tendrá más de 300 vídeos. Aún no hemos empezado con JEE. Faltan por ver cosas avanzadas y complejas como JDBC, Threads, Servlets etc.
      Cuando termine el curso (aún queda), lo pondré en mi web para la descarga. Un saludo

    • @manueisabel
      @manueisabel 9 ปีที่แล้ว

      Ok! genial, un saludo!!

  • @cristianandresvargasgonzal4510
    @cristianandresvargasgonzal4510 7 ปีที่แล้ว +1

    Hola profesor, se puede decir que esto remplazaria la carateriztica en java de los tipos de datos dinamicos ?

    • @pildorasinformaticas
      @pildorasinformaticas  7 ปีที่แล้ว

      Hola !! Si por datos dinámicos te refieres a los ArrayList, no. No exactamente. Son dos cosas diferentes que se complemeentan. Un saludo!!

    • @wz_alex9798
      @wz_alex9798 6 ปีที่แล้ว

      porque dentro de una clase y
      dentro de un metodo generico de la misma no puedo usar un atributo de la clase
      RESPONDER

  • @ivantejo8924
    @ivantejo8924 5 ปีที่แล้ว +5

    Me exploto la cabeza. Menuda liada.

  • @ssmatiuri
    @ssmatiuri 9 ปีที่แล้ว +1

    Qué significa la advertencia que sale la definición del método getMenor en la parte y en la línea del compareTo?

    • @pildorasinformaticas
      @pildorasinformaticas  9 ปีที่แล้ว

      Matías Que hemos usado una clase genérica sin especificar el tipo y esto no es seguro. Y esto ocurrió con la interfaz Comparable T. Si miras la API de Java verás que la definición de la intefaz Comparable es Comparable .
      Hablaremos de ello en el próximo vídeo. Un saludo

  • @wz_alex9798
    @wz_alex9798 6 ปีที่แล้ว

    Enseña las conversiones
    es decir pasar de un generico a un int para una suma con otro generico

  • @hectorsuarez3773
    @hectorsuarez3773 6 ปีที่แล้ว

    Lo que entendí en este vídeo: Es obligatorio que los parámetros que entren en el método generico, cumplan con la misma cadena de herencia que tiene la clase donde proviene dicho método genérico

  • @Magistrado1914
    @Magistrado1914 8 ปีที่แล้ว +1

    Excelente.

  • @wz_alex9798
    @wz_alex9798 6 ปีที่แล้ว

    porque dentro de una clase y
    dentro de un metodo generico de la misma no puedo usar un atributo de la clase

  • @Nizark-dj9uf
    @Nizark-dj9uf 6 ปีที่แล้ว

    el parametro de compare To me da un error ya que dice que no se puede comparar ya que es un entero.

  • @bq3511
    @bq3511 7 ปีที่แล้ว +1

    Me he quedado con duda al final sobre como obtener en fechas la menor en un lenguaje entendible, mi suposicion fue que habria que convertir el GregorianCalendar en un Date con el metodo getTime() pero no me da la fecha menor si no mas bien el segundo elemento del arreglo lo he puesto asi:
    Calendar fechas[]={new GregorianCalendar(2015,07,12),
    new GregorianCalendar(2019,10,21),
    new GregorianCalendar(2013,04,12),
    };
    System.out.println(MisMatrices.getMenor(fechas).getTime());
    Esto me da en la consola: Thu Nov 21 00:00:00 CST 2019
    el metodo para comparar que hicimos fue:
    public static T getMenor(T[ ] a){
    if(a==null || a.length==0) return null;
    T elementoMenor=a[0];
    for(int i=1; i0){
    elementoMenor=a[1];
    }
    }
    return elementoMenor;
    }
    Porque me da el segundo elemento?

    • @alfredolodos357
      @alfredolodos357 7 ปีที่แล้ว +2

      Hola Brenda,
      te sale el segundo elemento porque en:
      if(elementoMenor.compareTo(a[i])>0){
      elementoMenor=a[1];
      }
      Estas asignando el segundo elemento del array con elementoMenor = a[1]. Esa instrucción la debes cambiar por elementoMenor = a[i]
      Un saludo.

  • @xiaolinjinlin6228
    @xiaolinjinlin6228 5 ปีที่แล้ว

    con arrays de tipo int no funciona en el método, me pide que crea un método que tenga como pase de parámetro de tipo int[]...

  • @TheCarloz2009
    @TheCarloz2009 3 ปีที่แล้ว

    para pasarle un array con valores primitivos como numero seria así:
    Integer numeros[]= {1,2,3,4,5};
    System.out.println(MisMatrices.getElementos(numeros));

    • @alejandro.m.gonzalez
      @alejandro.m.gonzalez 2 ปีที่แล้ว

      Aclaración: la razón por la que puedes hacerlo es, naturalmente, porque esos números han dejado de ser datos primitivos y se han convertido en no otra cosa que en *objetos* de la *clase envoltorio* o _wrapper class_ *Integer* mediante un proceso automático de "autoboxing".

  • @luiseduardo-cn2zp
    @luiseduardo-cn2zp 9 ปีที่แล้ว

    Como le hace para que el cursor al moverlo se ponga rojo lo que utiliza para explicar, es un programa o algo?

    • @wz_alex9798
      @wz_alex9798 6 ปีที่แล้ว

      el diseño eso :vvvvv

    • @wz_alex9798
      @wz_alex9798 6 ปีที่แล้ว

      porque dentro de una clase y
      dentro de un metodo generico de la misma no puedo usar un atributo de la clase
      RESPONDER

    • @Yonhbu
      @Yonhbu 6 ปีที่แล้ว

      AlexS.w WorlD29 como así?
      Que intentas hacer ?

    • @wz_alex9798
      @wz_alex9798 6 ปีที่แล้ว

      Men tienes uan guia donde se apliquen esas cosas con ejercicios para practicar Es que ejemplo De POO encunetro ejercicios donde debes aplicar herencia poliformismo y ect pero de estos temas no como interface generics y los anteriores me ayudas plis :''c

    • @Yonhbu
      @Yonhbu 6 ปีที่แล้ว

      AlexS.w WorlD29 brother pues yo estoy también en las mismas, me explico estoy apenas viendo este video...en cuanto a ejercicios..puedes hacerlos tu mnismos no te complique....te pongo uno..créame una clase generica en la cual debas hacer todas las operaciones aritmética ( suma, resta etc.)...

  • @wz_alex9798
    @wz_alex9798 6 ปีที่แล้ว

    Quein me ayuda con conversiones :'''c ??

  • @wz_alex9798
    @wz_alex9798 6 ปีที่แล้ว

    Quien tiene una guia con ejercicios para usar todo sobre genericas y etc
    nesecito ejercicios para ver si entendi el tema
    plisssss

    • @ernestofavio6735
      @ernestofavio6735 4 ปีที่แล้ว

      Lo encontraste?

    • @wz_alex9798
      @wz_alex9798 4 ปีที่แล้ว +1

      @@ernestofavio6735 no amigo jajajja
      aprendi en mi primer trabajo xD

  • @javiermaruiz
    @javiermaruiz 3 ปีที่แล้ว

    WJJ-->Wiki Java Juan

  • @JcDvsk
    @JcDvsk 3 ปีที่แล้ว +1

    Me oís llorar? :'v

  • @rubengomez9828
    @rubengomez9828 ปีที่แล้ว

    System.out.println(MisMatrices.getMenor(fechas).getTime());