none
Comprobar si un arraylist es vacío - Java RRS feed

  • Pregunta

  • Buenas tardes.

    Estoy intentando rellenar un arrayList con nombres, pero solo si no son iguales a los que ya haya en la lista. El problema es que necesito ver si mi lista está vacía, para ello utilizo "isEmpty()", si es verdadero agrego el nombre recibido desde mi textbox, pero aunque esta lista no esté vacía, siempre termina entrando al if.

    private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {  

    ArrayList<String> Nombres = new ArrayList<>(); String nombre = txtNombre.getText(); boolean existe = false; if(Nombres.isEmpty()) { NombresYApellidos.add(nombre); } else { for(String a: Nombres) { if(nombre.equals(a)) { JOptionPane.showMessageDialog(null,"no se puede repetir el nombre"); existe = true; } if(existe == false) { Nombres.add(nombre); JOptionPane.showMessageDialog(null,"Datos agregados"); } } }

    }


    Saludos!


    • Editado Richard Mancilla miércoles, 23 de noviembre de 2016 1:07 faltó información
    miércoles, 23 de noviembre de 2016 1:06

Respuestas

  • Hola Richard Mancilla,

    Es lógico que siempre te muestre la lista vacía, ya que si te fijas bien, estás agregando el nuevo elemento a NombresYApellidos.add(nombre); y no a tu variable Nombres. Además que en cada click, estás creando un nuevo ArrayList. Tienes que declararlo fuera del evento.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Richard Mancilla miércoles, 23 de noviembre de 2016 2:51
    miércoles, 23 de noviembre de 2016 2:43