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

Sdílet
Vložit
  • čas přidán 6. 09. 2024
  • En este vídeo vemos los métodos genéricos.
    Para más cursos, ejercicios y manuales visita: www.pildorasinf...

Komentáře • 91

  • @pildorasinformaticas
    @pildorasinformaticas  Před rokem +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 Před 2 lety +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 Před rokem +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.

  • @katthacar
    @katthacar Před 7 lety +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  Před 7 lety +2

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

  • @ezequielmorales8115
    @ezequielmorales8115 Před 2 lety +2

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

  • @redactoresseo2805
    @redactoresseo2805 Před 3 lety +2

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

  • @harrisonmartinez4531
    @harrisonmartinez4531 Před rokem

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

  • @marioprado8789
    @marioprado8789 Před rokem

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

  • @JoaquinLunaWainer
    @JoaquinLunaWainer Před 8 měsíci

    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

  • @albertuco95
    @albertuco95 Před 5 lety +2

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

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

    Muchas gracias salvaste un sprint en mi trabajo jajaja 🤣 💙

  • @frankogb17
    @frankogb17 Před 8 lety +8

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

  • @Daniel-gs4qu
    @Daniel-gs4qu Před 4 lety

    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.

  • @-ejs-
    @-ejs- Před 6 lety +2

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

    • @pildorasinformaticas
      @pildorasinformaticas  Před 6 lety

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

  • @francogarcia2668
    @francogarcia2668 Před 3 lety +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

  • @jesuspastran5165
    @jesuspastran5165 Před 9 lety +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  Před 9 lety

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

  • @gilbertogalindez3812
    @gilbertogalindez3812 Před rokem +2

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

  • @figaarillo
    @figaarillo Před 3 lety +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😂😂

  • @efrainaoc
    @efrainaoc Před 5 lety +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.

  • @javiermaruiz
    @javiermaruiz Před 4 lety +1

    Al final acabas amando esto.

  • @juanpablonunez1333
    @juanpablonunez1333 Před rokem

    Excelente Juan

  • @daddydanidim
    @daddydanidim Před 6 lety

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

  • @teldatamcy5656
    @teldatamcy5656 Před 6 měsíci

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

  • @AngelPC
    @AngelPC Před 7 lety +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  Před 7 lety +5

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

    • @AngelPC
      @AngelPC Před 7 lety

      Ok muchas gracias

  • @joseKKX
    @joseKKX Před 7 lety +7

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

  • @Hector21211
    @Hector21211 Před 4 lety +1

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

  • @ivantejo8924
    @ivantejo8924 Před 5 lety +5

    Me exploto la cabeza. Menuda liada.

  • @marcelelias2965
    @marcelelias2965 Před 9 lety +3

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

    • @pildorasinformaticas
      @pildorasinformaticas  Před 9 lety +3

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

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

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

  • @mauriciopriego1700
    @mauriciopriego1700 Před 3 lety

    Gracias.

  • @JohnDoe-rj9oy
    @JohnDoe-rj9oy Před 4 lety +3

    21:18 Por qué extends y no implements?

    • @pildorasinformaticas
      @pildorasinformaticas  Před 4 lety +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 Před 4 lety

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

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

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

  • @JV-ds6tk
    @JV-ds6tk Před rokem

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

  • @bubbango
    @bubbango Před 7 lety +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  Před 7 lety

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

  • @josedronesytecnologia
    @josedronesytecnologia Před 9 lety +1

    Muy bien explicado.

  • @danieldiaz3343
    @danieldiaz3343 Před 5 lety

    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 {"???

  • @wz_alex9798
    @wz_alex9798 Před 6 lety

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

  • @ssmatiuri
    @ssmatiuri Před 9 lety +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  Před 9 lety

      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

  • @memejamas3818
    @memejamas3818 Před 2 lety

    de lo mejor gracias profe

  • @TheCarloz2009
    @TheCarloz2009 Před 3 lety

    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 Před 2 lety

      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".

  • @hebersolisbravo4502
    @hebersolisbravo4502 Před 9 lety +1

    Buena explicacion, lo entendi bien, gracias

    • @wz_alex9798
      @wz_alex9798 Před 6 lety

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

  • @McSeeMo_
    @McSeeMo_ Před 6 lety

    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 Před 5 lety +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 Před 2 lety

      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 };

  • @bq3511
    @bq3511 Před 7 lety +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 Před 7 lety +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.

  • @cristianandresvargasgonzal4510

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

    • @pildorasinformaticas
      @pildorasinformaticas  Před 7 lety

      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 Před 6 lety

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

  • @Nizark-dj9uf
    @Nizark-dj9uf Před 6 lety

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

  • @presentahn
    @presentahn Před 6 lety

    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.

  • @wz_alex9798
    @wz_alex9798 Před 6 lety

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

  • @hectorsuarez3773
    @hectorsuarez3773 Před 6 lety

    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

  • @xiaolinjinlin6228
    @xiaolinjinlin6228 Před 5 lety

    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[]...

  • @manueisabel
    @manueisabel Před 9 lety +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  Před 9 lety +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 Před 9 lety

      Ok! genial, un saludo!!

  • @Magistrado1914
    @Magistrado1914 Před 8 lety +1

    Excelente.

  • @wz_alex9798
    @wz_alex9798 Před 6 lety

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

  • @luiseduardo-cn2zp
    @luiseduardo-cn2zp Před 9 lety

    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 Před 6 lety

      el diseño eso :vvvvv

    • @wz_alex9798
      @wz_alex9798 Před 6 lety

      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 Před 6 lety

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

    • @wz_alex9798
      @wz_alex9798 Před 6 lety

      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 Před 6 lety

      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 Před 6 lety

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

  • @javiermaruiz
    @javiermaruiz Před 3 lety

    WJJ-->Wiki Java Juan

  • @JcDvsk
    @JcDvsk Před 3 lety +1

    Me oís llorar? :'v

  • @rubengomez9828
    @rubengomez9828 Před rokem

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