Curso Java. Colecciones V Iteradores. Vídeo 183

Поделиться
HTML-код
  • Опубликовано: 16 дек 2024

Комментарии • 112

  • @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. 💥💥💥

  • @adrianarias7141
    @adrianarias7141 6 лет назад +30

    He estado siguiendo tu curso y me has salvado de muchas situaciones en la universidad. Eres de los mejores

    • @pildorasinformaticas
      @pildorasinformaticas  6 лет назад +4

      Gracias !! Me alegro de que el curso sea de utilidad. Un saludo!

    • @wg3771
      @wg3771 5 лет назад +3

      Opino lo mismo! lastima que no tengo primas para presentarte una :)

    • @maximartinez2902
      @maximartinez2902 6 месяцев назад

      ​@@wg3771eh?

  • @titocortito8802
    @titocortito8802 5 лет назад +1

    Profesor muchas gracias, gracias por tomarse el tiempo de transmitir su conocimiento, gracias por hacer los videos tan claros y tan amenos, es de mucha ayuda para los programadores como yo que somos un poco más cerrado para la programación

  • @micheldelpino3005
    @micheldelpino3005 2 года назад

    Qué crack!!! me estas salvando la vida con tus curso. Muchas gracias!!!!!!

  • @MisLocurasControladas
    @MisLocurasControladas 5 лет назад +24

    Muy bueno el video, permiteme una correccion:
    Cuando dices que es complicado extraer informacion de un objeto cuando usas Iterator, no es cierto, puedes crear un objeto del tipo que estas Iterando y volcar la informacion mediante Next(), es decir, en concreto, al ejemplo que pusiste puedes (dentro del bucle while) poner:
    Cliente c = it.next();
    System.out.println("Nombre: " + c.getnombre + "Cuenta: " + c.getCuenta);
    Y asi tendrias un obleto de tipo Cliente instanciado en c, y ya llamar a los metodos que tienes en la clase Cliente, llamando mediante getters a los campos de clase
    Me ha encantado la parte en la que explicas como funciona la instruccion Next(), muy visual, lo entendi mucho mejor!
    Muchisimas gracias por tu tiempo! :)

    • @jesuv5875
      @jesuv5875 4 года назад

      Buen apunte man.

    • @elmarisco143
      @elmarisco143 4 года назад

      gran aporte , pero tengo una duda , pasa algo si cada ratoa ndo creando objetos ? ejemplo , estoy haciendo un ejercicio de base de datos y creo objetos de tipo usuario en diferentes metodos , en el metodo actualizar se crearian 3 objetos de este tipo
      1 - el objeto actualizarUsuario , 2 - los objetos que se guardan en una lista , 3 - el objeto del iterator
      (si se que es tonto , pero la cosa es que se crean objetos de diferentes metodos constructores , mas que nada para no almacenar atributos que no se usan , como por ejemplo , no vas a actualizar la fecha de nacimiento o fecha de registro )

    • @luciopaulino3878
      @luciopaulino3878 4 года назад

      @@elmarisco143 Pasar no pasa nada si se crean muchos objetos, al final es solo espacio en la memoria que hoy en día hay mucho, en realidad en este caso, al no conocer el código de tu ejemplo es medio complicado aconsejar, pero algo que podrías hacer para ahorrar espacio, es crearte un método para actualizar información de un usuario, entonces cada vez que lo invocas, pasas la información que se quiere actualizar (un método para cada información, por ej, uno para nombre, otro para dni...) y dentro del método, haces que el mismo busque en la colección al usuario especifico (cada usuario debe tener un código identificativo único) y cuando llega a ese usuario, que le cambie el valor de esa variable. Ej
      public void Cambia_nombre(String nombre, int id) {
      while(it.hasNext()) {
      Persona p = it.next();
      if(p.getID == id){ //si el id es el de la persona que se esta buscando
      p.nombre = nombre;//cambiale la variable nombre a esa persona
      }
      }
      }
      No te preocupes porque con este código:
      while(it.hasNext()) {
      Objeto o = it.next();
      trabajas con el objeto....
      }
      No se crean todos los objetos de la colección, se crea un solo objeto del tipo que sea tu colección y se va sobrescribiendo por cada iteración, por lo que al final solo se estaría guardando lugar para un objeto.

    • @eldarkness
      @eldarkness 3 года назад +1

      Vine a escribir justo lo mismo jaja. Yo ya sabia como funcionaban estos metodos por el uno de los modulos del ciclo donde lo usabamos mucho para recorrer un ResultSet de una query de mysql pero bueno es raro que a Juan se le pase algo pero nadie es perfecto y sus cursos son de 10. Saludos

    • @miguelangelmanrique5678
      @miguelangelmanrique5678 3 года назад

      Excelente amigo...

  • @papaprimerizoes3548
    @papaprimerizoes3548 2 года назад

    Muchas gracias Juan. Un saludo

  • @marceloalejandroasis2596
    @marceloalejandroasis2596 Год назад

    Como siempre profe usted un lujo ver sus clases.

  • @federiconavarro173
    @federiconavarro173 2 года назад

    Los videos son geniales, varios compas me decian que veian tus videos y por tiempo nunca lo hice. Pero la verdad no dejas pasar nada, enseñas el trasfondo de las cosas. Excelentes videos. Y perfecto que elimines a Julio Iglesias..jaja

  • @bernatrivera214
    @bernatrivera214 9 лет назад +1

    Muchas gracias por compartir su conocimiento profesor, voy por el vídeo 45 y su curso me esta siendo de gran ayuda para poder aprobar la asignatura de POO en la universidad. También estoy siguiendo los de html y css, excelentes los tres. MUCHAS GRACIAS!!!

    • @pildorasinformaticas
      @pildorasinformaticas  9 лет назад

      +Bernat Rivera Pues gracias a ti por el comentario y por seguir mis vídeos. Un saludo

  • @carlosrios7823
    @carlosrios7823 10 месяцев назад

    Excelente curso, ha sido una gran aventura!

  • @isailopezmartinez8434
    @isailopezmartinez8434 3 года назад

    Un tutorial de excelencia, dio al clavo sin excepción. Es usted un grande

  • @deele1s
    @deele1s 8 лет назад +2

    Me estoy preparando el OCP y aparte el módulo de programación. Entre el libro de Katy Sierra (Inglés) y mi profesor (Alemán) a veces se me hace muy difícil algo que con tus tutos me está resultando facilísimo de entender! Aparte de que tocas todos los temas del OCP hasta ahora. Gracias y buen trabajo!

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад

      Gracias por el comentario. Me alegro de que los vídeos te ayuden. Un saludo!!

    • @alansalinas4311
      @alansalinas4311 3 года назад

      Se que pregunto 5 años tarde pero ¿Que es OCP?

  • @mrkborja
    @mrkborja 2 года назад

    Otro video mas para el cerebro !!! vamosss

  • @ernestofavio6735
    @ernestofavio6735 4 года назад

    Que buen profesor, espero se este cuidando de este virus, muchas gracias !!!

  • @SinNombre101
    @SinNombre101 8 лет назад +2

    Saludos.
    Muy buen vídeo y muy bien explicado , además con mucho humor , me he reído sanamente con la comparación de next() con el toro pasado... gracias a eso tengo grabado a fuego en la mente lo que hace el next().
    Gracias por tus videos , trabajo y buen humor.

  • @diegoalejandrocalvoorozco5349
    @diegoalejandrocalvoorozco5349 7 лет назад +1

    Ilustre, Excelentes Videos Felicitaciones por tan grande Conocimiento

  • @Zakaros1000
    @Zakaros1000 4 года назад +3

    NetBeans IDE 8.0.2 CON JDK 1.8 NO DA EL ERROR("ConcurrentModificationException") DEL MINUTO 18:03; POR EL CONTRARIO, LA OPERACIÓN REMOVE FUE EXITOSA!

    • @SuperGokhanDBS
      @SuperGokhanDBS 4 года назад

      Hm, a mi si me lo da y estoy usando JDK 1.8 también.

    • @atherbsc5384
      @atherbsc5384 3 года назад

      En java 8 al parecer se cambio eso de la excepción, el curso que hizo el profe es con java 6 o 7, ese seria el porque

  • @danielamarquez4031
    @danielamarquez4031 2 года назад

    Me encanta como explicas, muy claro!

  • @jeisong17
    @jeisong17 3 года назад

    Gracias por compartir tu conocimiento un saludo

  • @migueleduardofernandezsevi3538
    @migueleduardofernandezsevi3538 3 года назад

    Gracias por tus sabios conocimientos. En vacaciones ojalá pueda comprar tus cursos premium. Estoy haciendo todo lo posible por ahorrrar hasta Enero

  • @leomtez
    @leomtez 3 года назад

    Completamente de acuerdo... en lo de eliminar a Julio Iglesias en vez de a Penélope Cruz

  • @valeriaaH
    @valeriaaH 6 лет назад +2

    Muchas Graciaaas! que Dios lo bendiga

  • @alexisrivas6198
    @alexisrivas6198 6 лет назад

    Eres el rock explicando. ¡Suscrito! muchas gracias.

  • @bernarda.moralesnicola7799
    @bernarda.moralesnicola7799 5 лет назад +1

    Otro gran videotutorial !!!

  • @verkiwho
    @verkiwho 5 лет назад +1

    Hola Juan, después de lo "habría que darle vueltas"... creo que es bastante sencillo, al menos he probado y parece funcionar:
    Iterator it2 = clientes.iterator();
    while(it2.hasNext()){
    Cliente cli = it2.next();
    System.out.println("Nombre: "+cli.getNombre()+" con cuenta: "+cli.getNcuenta()+" saldo: "+cli.getSaldo());
    }

  • @gionieto1741
    @gionieto1741 7 лет назад +2

    excelente video, eres muy bueno explicando, cosa que algunos profesores no lo son, sigue asi por favor

  • @nachomartinez3285
    @nachomartinez3285 4 года назад +1

    Un apunte para ver los datos. del cliente se puede hacer generando un método toString() en la clase cliente y luego que el iterado lo llame
    while( it.hastNext() ){
    System.out.println( it.Next().toString() );
    }

  • @gastonComas2
    @gastonComas2 3 года назад

    Genio de la vida

  • @robotvivo5158
    @robotvivo5158 2 года назад +1

    Otra forma de recorrer para eliminar una objeto en el iterador:
    while(it.hasNext()) {

    Cliente cliente1 = it.next();

    if(cliente1.getNombre().equals("sara")) {
    it.remove();
    }
    }
    Fijense que "cliente1" va representando el objeto porque vaya pasando en cada iteracion del bucle.
    En la primera corrida sera el primer objeto, en la segunda corrida sera el segundo obj y asi sucesivamente.
    cliente1 basicamente es un apuntador el cual puede utilizar los metodos del objeto al que apunte , en esste caso, el objeto Cliente

    • @davidon3270
      @davidon3270 Год назад

      Me preguntaba como usar el iterador cuando el if tiene 2 condiciones sin que la segunda condición salte al siguiente elemento. Me acabas de responder. Gracias.

  • @danswarrior1
    @danswarrior1 6 лет назад

    y felicitaciones, excelente curso, te quedo barbaro!!

  • @rubenpole1570
    @rubenpole1570 8 лет назад +11

    Hola Juan! Como siempre felicitarte por tus cursos, eres de los mejores profesores (si no el mejor) que he tenido en toda mi carrera (y no exagero).
    Tengo una duda, para la problematica en el minuto 13, porque no asociar el elemento "next()" a un objeto de tipo Cliente temporal, y obtener todos los datos de este objeto temporal? (Funciona, pero no se si puede haber problemas y por eso lo evitas).
    Iterator it;
    it = clientesBanco.iterator();
    while(it.hasNext()) {
    Cliente cliente = it.next();
    System.out.println(cliente.getNombre() + " " + cliente.getNumero_cuenta() + " " + cliente.getSaldo());
    }

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад +3

      Muchas gracias por el comentario. Me alegro de que te gusten tanto los vídeos. Respecto al código que adjuntas, si funciona...perfecto. Ya sabéis que siempre hay varios caminos para llegar a Roma y yo no tomo siempre el más corto. Un saludo!!

    • @leonardo-yz9wx
      @leonardo-yz9wx 8 лет назад +1

      sin saberlo hice lo mismo que vos Ruben y empece a buscar para ver si ya lo habian subido y me encuentro con tu codigo jajaja. saludos

    • @amater__
      @amater__ 7 лет назад +2

      Iterator it = clientesBanco.iterator();
      while(it.hasNext()) {
      System.out.println(it.next());
      }
      más corto si se sobreescribe el método toString en la clase Cliente
      public String toString() {
      return "Nombre: " + nombre + "
      Numero de cuenta: " + numeroCuenta + "
      Saldo: " + saldo + " €
      ";
      }

    • @verkiwho
      @verkiwho 5 лет назад

      Completamente de acuerdo, estoy estudiando a distancia fp dam y lo entiendo mejor cómo lo explica Juan que cómo se explica en los apuntes que tenemos.

  • @davidrsmos-ww8tx
    @davidrsmos-ww8tx Месяц назад

    ❤❤❤❤ gracias

  • @laerroman6988
    @laerroman6988 4 года назад

    gracias por explicar todo lo que va pasando con el código, generalmente en estos videos te dicen "escribe esto" sin decir que significa lo que estas haciendo, o te dicen "pero eso lo veremos después" y que va! si no somos tontos, pueden explicar de una vez y ya. Tu marcas la diferencia. gracias.

  • @pinocodex
    @pinocodex 6 лет назад

    Profesor mis respeto, practicamente aprendi (lo poco que se, porque aun soy un crio) java con Deitel y con sus videos. Usted en el minuto 12:02 (por ahi) hablo del problema de querer acceder a otro campo del objeto que se recorre, y que al tener que llamar otra vez al metodo next() : iterator, accedemos a una posicion mayor a la actual. Pero que tal si guardamos esa referencia del objeto Iterador en una variable temporal dentro del while. para asi acceder a la misma referencia en cada vuelta del ciclo. No se si me explico.
    Iterator iterator
    while(iterator.hastNext())
    Empleado n = iterator.next()
    n.getName
    n.getApellidos
    n.etc()
    /*Asi tengo una referencia al mismo objeto*/
    No se si es mejor, tomando en cuenta las interfaces publicas para operar que nos ofrece un Objeto Iterator y a través de su herencia.

  • @danieldani1132012248
    @danieldani1132012248 6 лет назад

    muy buenos tus videos

  • @memejamas3818
    @memejamas3818 2 года назад

    gracias por todo esto

  • @AdrianCardona01051011
    @AdrianCardona01051011 2 года назад +2

    Creo que sería muy importante que notificaras que desde Java 8.0 si que es posible modificar un objeto de tipo collection mientras se recorre en un bucle for each, por lo que he estado leyendo por los comentarios.
    Puede dar lugar a mucha confusión y lo veo importante...

    • @robotvivo5158
      @robotvivo5158 2 года назад

      buen aporte gracias. Sin embargo acabo de probar y aun no puedo modifcar la coleccion mientras la recorro...quizas tenga que declarar algo mas....ni idea por ahora

    • @lgs6600
      @lgs6600 Год назад

      @@robotvivo5158 Si en Cliente has sobrrescrito hashCode y equals() no debería dar problemas el que recorras a la vez que borras

  • @nicotoobebello6386
    @nicotoobebello6386 5 лет назад

    Hice una pequeña optimización en el código cuando usa el Iterator para eliminar a "Julio Iglesias" jeje
    Iterator it = clientesBanco.iterator();
    while(it.hasNext()) {
    String nombre_cliente = it.next().getNombre();
    if(nombre_cliente == "Julio Iglesias") {
    it.remove();
    break; // optimizando el codigo :)
    }
    System.out.println("Sali al completar");
    }
    Coloque un break para que salga del while cuando encuentre el elemento a remover.
    Saludos.

  • @ifef376
    @ifef376 2 года назад

    En el instituto en el que estudio pasan tus videos!!

  • @teldatamcy5656
    @teldatamcy5656 9 месяцев назад

    Gracias!!!

  • @michaeleduardogarciaabello2180
    @michaeleduardogarciaabello2180 5 лет назад

    Si quiero mostrar la información general de un objeto al usar el iterator, simplemente podría llamar al toString y listo... el problema radica en si se debe utilizar algún método que me devuelva el objeto para operar con el mismo, en ese caso veo más factible el for. En cualquier caso, me parece bastante interesante. :) Gracias.

  • @rubenfernandez4070
    @rubenfernandez4070 7 лет назад +1

    Hola Juan. ¡¡ Enorme trabajo!! estas haciendo con este y otros cursos.Gracias por tiempo y dedicación.
    Tengo una duda, en el ejercico del video, si pongo dos bucles while uno seguido del otro solo me muestra el primero.
    Para que me muestre el segundo tengo que iniciar denuevo la variable Iterator.
    it=clientesBanco.iterator();
    Cual seria la forma correcta para hacerlo?

  • @1jhonbreinnersdh804
    @1jhonbreinnersdh804 Год назад +1

    para que te salga nombre y cuenta lo hice asi , jeje un aporte muy basico pero bueno
    Iterator it=clienteBanco.iterator();
    Iterator itc=clienteBanco.iterator();

    while (it.hasNext()) {

    String nombrecliente=it.next().getNombre();
    String cuentacliente=itc.next().getN_cuenta();
    System.out.print(nombrecliente);
    System.out.println(" "+cuentacliente);
    }

  • @CodeBOXDaniKeys
    @CodeBOXDaniKeys 2 года назад

    Intente crear 2 iteradores uno para listar por nombre y el otro para borrar por nombre y los declare con distinto nombre it1 ,it2. y no funciono. que puedo hacer para tener estas 2 operacioens en el mismo array??

  • @jeisonbarbosa7963
    @jeisonbarbosa7963 6 лет назад +1

    Profe muy bueno el curso, quería preguntar si los arboles también hacen parte de este concepto y si son muy utilizadoso no?

    • @pildorasinformaticas
      @pildorasinformaticas  6 лет назад

      Los árboles son diferentes a pesar de que tienen cierta relación con las colecciones. Sí, los árboles se utilizan. Todo el código que tiene Java se utiliza, algunas cosas más otras menos, pero todo se utiliza. Un saludo!!

  • @ernestg.c9537
    @ernestg.c9537 8 лет назад +2

    tan sencillo lo explicas muy bien gracias saludos desde México pero tengo una duda como le doy por así decirlo un nombre a las columnas si estoy usando un Arraylist
    como una tabla no se si me explicó de antemano gracias

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад

      Hola ! Creo que te explicas. No podrás hacer eso en un ArrayList. Tampoco lo necesitarás. En caso de necesitar tratar los datos almacenados como si fuera una BBDD, entonces utilizaremos JDBC (explicado más adelante en el curso). Un saludo!!

    • @ernestg.c9537
      @ernestg.c9537 8 лет назад

      pildorasinformaticas profesor y abusando de su confianza despejeme de esta duda como le hago para que el arraylist me salte a otra linea por ejemplo quiero almacenar datos de un cliente
      1 cliente 25.255.255 32 informe
      2. x 24553353 gerente
      asi sucesivamente ya que el Arraylist que tengo lo que hace es lo mismo pero haciendo esto junto
      1 cliente 25.255.255 32 informe2.x24553353 gerente
      asi susecivamente todo junto por favor de antemano Gracias

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад

      No se si entiendo del todo la pregunta. ¿Cómo sabes que la información está en la misma línea? Imagino que será porque lo ves en consola... En ese caso utiliza println en vez de print.
      Un saludo!!

    • @ernestg.c9537
      @ernestg.c9537 8 лет назад +1

      Gracias profe si de echo es en la consola pero mire ya lo hice :
      public void pedirCita(){
      System.out.println("Asunto: ");
      asunto = teclado.nextLine();
      System.out.println("Hora: ");
      hora = teclado.nextLine();
      System.out.println("Id: ");
      id = teclado.nextLine();
      Cita.add(id);
      Cita.add(asunto);
      Cita.add(hora);
      }
      public void VisualizarCita(){
      System.out.println("--CITAS ACTUALES--");
      for(int i = 0;i

    • @humbertmf
      @humbertmf 8 лет назад

      +pildorasinformaticas Tengo la misma duda Ingeniero Juan, cual es la razón por la que en el minuto 7:58 no se coloca la palabra reservada implementes Iterator, delante de la clase si Iterator es una interface? De antemano gracias por su atención Ingeniero, que tenga usted un excelente día!

  • @lessionsucctoes7570
    @lessionsucctoes7570 2 года назад

    Soy el único que la parte que mas le gusta de los videos es la de cuando da teoría? xD
    Por cierto, me compadezco enormemente de la gente que programaba antes de la versión 5 de java, no tenian ni los for each ni la programación generica, se tenían que hacer todo ellos solitos y con un codigo bastante poco entendible...

  • @Julietaa04
    @Julietaa04 6 лет назад

    Excelente tus videos!
    Tenes sobre Test Junit Case?

  • @tomasagu4944
    @tomasagu4944 4 года назад

    Esta es una manera de mostrar todos los datos con un iterador:
    Iterator it=clientes_del_banco.iterator();
    while (it.hasNext()) {
    Cliente cliente=it.next();
    System.out.println("nombre: " + cliente.getNombre() + " | nro_cuenta: " + cliente.getNumero_de_cuenta()+" | saldo: "+ cliente.getSaldo());
    System.out.println("-----------------------------------------------------------------");

    }

  • @ruco1927
    @ruco1927 9 лет назад +1

    disculpe me parece muy bueno su curso ya que la forma de explicar es muy clara, queria preguntar este curso me sirve para finalizar tomar el examen de certificacion de oracle?

    • @pildorasinformaticas
      @pildorasinformaticas  9 лет назад +2

      +Luis franco marin Hola !! Gracias por el comentario. El afrontar el examen de certificación con éxito depende de cada uno, pero en este curso se verán todos los aspectos del Oracle Certified Professional, Java SE 7 Programmer.
      Un saludo

  • @arielf.barrozo2982
    @arielf.barrozo2982 5 лет назад

    Profesor de pildoras informaticas, muy clarisima la explicacion, solo una duda, en la linea 18 a mi me funciona solamente si pongo;
    HashSet clientesBanco=new HashSet(); (si pongo como vos primero Set me da error a no ser que falte otra libreria a parte de la hashSet de java.util, gracias sigo atentamente tu curso me esta ayudando mucho. te entendi mejor a vos que al profesor lastima que te vi despues ya que la materia de java en al univ. si lo veia antes no la recursaba, hoy tengo que hacer un gol de media cancha y de oro jaja, para recuperarme jaja. un abrazo desde Buenos Aires. y que sea el tercero como en España jaja

  • @anests1a617
    @anests1a617 6 лет назад

    Una pregunta juan, en este tema de iteradores, sabes la diferencia entre un iterador y un bucle for sencillo? capaz sea por bucles anidados ??

  • @Eleamuu
    @Eleamuu 9 лет назад +1

    Estoy siguiendo el curso java en su respectivo órden y me resulta muy claro y didáctico. Una pregunta: Mi objetivo final es programar para Android. ¿Cual es su recomendación respecto a aprender Java previamente a interiorizarse en lo que es Mobile? Saludos y gracias!

    • @pildorasinformaticas
      @pildorasinformaticas  9 лет назад +4

      +Dam Floresta Hola !! Gracias por el comentario. Mi recomendación si se quiere programar para Android es que primero se aprenda Java y después se realice un curso específico de Android. Yo comenzaré uno cuando esté a punto de terminar este de Java. Un saludo

  • @MarSanm
    @MarSanm 8 лет назад +1

    Si quiero meter el for earh o iterador en un método a parte, como tendría que hacer? Es algo que estoy buscando por todas partes y no soy capaz de avanzar. Si hago todo en el main funciona ya que primero declaramos el ArrayList y a estar todo en el main perfecto. Pero si yo creo un método mostrarListado() no me funciona el Iterator sin volver a poner algo así:
    ArrayList listaLibros = new ArrayList();
    Y claro si hago eso, no me va a detectar los elementos que introduje antes, ya que esto es un nuevo ArrayList. No sé si me explico, pero en resumen es como se puede poner el iterador solo, en un método.
    Muchas gracias! Los vídeos son muy buenos.

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад +1

      Hola !! Declara el ArrayList como campo de clase fuera de cualquier método y luego trabaja con él desde cualquier método. Reconocerá los elementos introducidos en él desde cualquier método. Un saludo!!

  • @albertm2329
    @albertm2329 8 лет назад +1

    Disculpe profesor, entiendo que en este tema de las colecciones hay muchas interfaces que heredan de otras interfaces pero siempre viene a mi mente la siguiente pregunta ¿dónde puedo encontrar la implementación de los métodos definidos en las interfaces? Por ejemplo el metodo next, hasnext y remove de la interfaz Iterator ¿en qué lugar están definidos? ¿Cuál es la clase que los define?

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад +1

      Hola !! No encontrarás en ningún sitio la definición de una interfaz. Si lo que te preguntas es cómo es posible que una interfaz funcione si no está implementada en ningún lugar de la API, esa pregunta deberías hacerla a alguien de Oracle para que te explique cómo han hecho esa "magia". Un saludo!!

    • @alejandro.m.gonzalez
      @alejandro.m.gonzalez 2 года назад

      Hola. Las interioridades del código de la API de Java, como lenguaje _open-source_ sí pueden consultarse dentro de la biblioteca que aparece en tus proyectos en Eclipse bajo la rúbrica "JRE System Library". Cuestión diferente es que el nivel técnico del código de muchas de estas clases en la biblioteca puede exceder la capacidad de muchos de nosotros para comprenderlo.
      Las interfaces, como bien sabes, no definen métodos, tan solo los declaran de manera abstracta. Para encontrar su *concreción* debes investigar las clases que implementan las interfaces. Encontrar estas implementaciones en el _framework_ de Colecciones de Java puede ser un trabajo más arduo y laberíntico de lo acostumbrado debido a la estrecha interconexión que hay entre las interfaces, clases abstractas y clases concretas de esta API y su abundante número.
      Si tienes curiosidad, aquí te dejo un fragmento del código de determinadas _inner classes_ embebidas en la clase predefinida *HashMap* de la API de Java que puedes encontrar interesantes para tu consulta:
      /* ------------------------------------------------------------ */
      // iterators
      abstract class HashIterator {
      Node next; // next entry to return
      Node current; // current entry
      int expectedModCount; // for fast-fail
      int index; // current slot
      HashIterator() {
      expectedModCount = modCount;
      Node[] t = table;
      current = next = null;
      index = 0;
      if (t != null && size > 0) { // advance to first entry
      do {} while (index < t.length && (next = t[index++]) == null);
      }
      }
      public final boolean hasNext() {
      return next != null;
      }
      final Node nextNode() {
      Node[] t;
      Node e = next;
      if (modCount != expectedModCount)
      throw new ConcurrentModificationException();
      if (e == null)
      throw new NoSuchElementException();
      if ((next = (current = e).next) == null && (t = table) != null) {
      do {} while (index < t.length && (next = t[index++]) == null);
      }
      return e;
      }
      public final void remove() {
      Node p = current;
      if (p == null)
      throw new IllegalStateException();
      if (modCount != expectedModCount)
      throw new ConcurrentModificationException();
      current = null;
      removeNode(p.hash, p.key, null, false, false);
      expectedModCount = modCount;
      }
      }
      final class KeyIterator extends HashIterator
      implements Iterator {
      public final K next() { return nextNode().key; }
      }
      final class ValueIterator extends HashIterator
      implements Iterator {
      public final V next() { return nextNode().value; }
      }
      final class EntryIterator extends HashIterator
      implements Iterator {
      public final Map.Entry next() { return nextNode(); }
      }

  • @tiagooliveira4868
    @tiagooliveira4868 8 лет назад +1

    Tengo una pequeña duda.
    // porque aqui no fue necesario usar el NEW, para crear el it.?
    Iterator it = clientesBanco.iterator();

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад +1

      Iterator es una Interfaz, no una clase. El método iterator() pertenece a la Interfaz Collection y devuelve un objeto de tipo Iterator. Por eso creamos una variable de tipo Iterator (llamada it) para almacenar el objeto Iterator que devuelve el método iterator() al aplicarlo sobre la colección clientesBanco.
      Si echas un vistazo en la API a estas interfaces y métodos que te menciono, lo entenderás mejor. Un saludo!!

    • @tiagooliveira4868
      @tiagooliveira4868 8 лет назад +1

      Entendi, muchisimas gracias. ¡Saludos!

  • @daddydanidim
    @daddydanidim 6 лет назад +1

    Profe tengo una duda.. las pilas (Stack) en java, tambien se consideran como Colecciones o no?

    • @pildorasinformaticas
      @pildorasinformaticas  6 лет назад +1

      Sí. Echa un vistazo a este enlace, puede que te aclare algo: www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=630:coleccion-de-objetos-de-tamano-variable-java-listas-pilas-colas-collection-list-set-queue-map-cu00664b&catid=68&Itemid=188
      Un saludo!

  • @madmaxdios
    @madmaxdios 8 лет назад +4

    Buenas Juan, muy buen video, una cosa, yo tengo Java 8.0, y si que me deja en un forEach borrar un elemento, no se si en la última versión de Java lo han agregado. Un saludo

    • @pildorasinformaticas
      @pildorasinformaticas  8 лет назад

      +victor DG Tendré que revisar esto que comentas... La versión 8 trae bastantes novedades y me estoy enterando por vosotros... Un saludo

    • @Alex75JR
      @Alex75JR 8 лет назад +1

      A mí con Java 8 tampoco me aparece la excepción.
      Saludos.

    • @gianloli5264
      @gianloli5264 7 лет назад

      +victor DG, lo que dices es cierto y parece que la nueva versión de Java 8 acepta modificar la colección a la vez que se recorre... :D! Saludos

  • @cumbiagalluci9994
    @cumbiagalluci9994 9 лет назад +1

    Hola vas a explicar algo como crear aplicaciones moviles con java ? android

    • @pildorasinformaticas
      @pildorasinformaticas  9 лет назад +2

      +Cumbia Galluci Hola !! Cuando termine este curso (que aún queda), comenzaré un curso nuevo de Android. Un saludo

    • @cumbiagalluci9994
      @cumbiagalluci9994 9 лет назад

      Bien ahi gracias

    • @cumbiagalluci9994
      @cumbiagalluci9994 9 лет назад

      Una duda el curso va a ser desde cero también explicaras java?

    • @cumbiagalluci9994
      @cumbiagalluci9994 9 лет назад

      hay que ver este curso de java para saber android?

  • @danswarrior1
    @danswarrior1 6 лет назад

    para sacar la info directo del iterador se me ocurre, dame tu opinión realmente no lo probe:
    Iterator it = clientesBanco.iterator();
    while(it.hasNext()) { // hasta aqui igual al tuyo
    cliente Auxiliar = it.next(); // AQUI ES LA NOVEDAD, esto me dejaria hacer lo siguiente
    system.out.println(Auxiliar.getNombre());
    system.out.println(Auxuliar.getN_cuenta()); // asi uso un solo next() y puedo imprimir lo que uiera
    }

  • @Pathrach
    @Pathrach 9 лет назад +1

    ¿Qué carrera has hecho?

    • @flan_02
      @flan_02 5 лет назад

      Carrera nivel Dios

  • @llSanthiago
    @llSanthiago 4 года назад

    Yo hice esto:
    for (Cliente cliente : clientesBanco) {
    if(!cliente.getNumeroDeCuenta().equals(cl3.getNumeroDeCuenta()))
    System.out.println(cliente.getNombre());
    }

  • @FlowcouSMR
    @FlowcouSMR 5 лет назад

    Y si metes lo que quieres borrar por scanner? A mi esto de ma la excepcion de concurrent Modification Exception
    private ArrayList coleccion = new ArrayList();
    Iterator iter = coleccion.iterator();public String borrarArticulo() {
    String codigo = null;



    System.out.println("Por favor introduzca el codigo del articulo");
    codigo = teclado.nextLine();
    //ValidarCodigo(codigo);

    while (iter.hasNext()) {
    String variable = iter.next().getCodigo();
    if (variable.equals(codigo)) {
    iter.remove();
    System.out.println("Producto eliminado");
    }
    }

    return codigo;
    }

  • @arthduridari7637
    @arthduridari7637 Год назад

    Para imprimir todos los datos del cliente con el Iterador bastaría con crear una instancia del objeto Cliente, en vez de crear un objeto de tipo string y luego imprimir todo en consola con los métodos getters. así:
    while (iterator.hasNext()){
    ClienteI cliente=iterator.next();
    System.out.println("Nombre cliente: "+cliente.getNombre()+". Número de cuenta: "+cliente.getNumero_cuenta()+". Saldo disponible: "+cliente.getSaldo()+"€");
    }