ArrayList

La clase ArrayList (java.util) es una objeto lista que implemente la interfaz Collection de java. Esta clase permite contener y ordenar objetos, incluso, puede almacenar objetos dupicados. Su tamaño es dinámico, es decir, esta lista crecera a medida que se inserten en ella mas elementos. Debememos recordar que el índice de un ArrayList empieza en 0, es decir, el primer elemento del ArrayList tiene como índice el 0

Nota: Los objetos ArrayList se comportan igual que un objeto Vector desincronizado, por lo tanto, un ArrayList se ejecuta mas rápido que un Vector, ya que el ArrayList no tiene que implementar los métodos de sincronización de procesos.

Agregar elementos
El ArrayList contendrá diversos elementos que debemos gestionar, para agregar elementos, se puede hacer de dos formas usando el método add(…) que recibe por parámetro un objeto de tipo Object:

• La primera forma sería insertalo sin darle una posición específica, entonces, por defecto el elemento será agregado al final:

// instanciamos un nuevo ArrayList
ArrayList mi_lista = new ArrayList();

// agregamos el elemento, por defecto lo agregará de último
mi_lista.add("elemento 1");

• La segunda forma sería dandolé una posición específica en el la lista. Si se dá el caso de que el elemento que vamos a insertar en un índice donde ya hay un elemento, la lista, por definicion el elemento insertado y todos a la derecha de él se correrán una posición a la derecha:

// instanciamos un nuevo ArrayList
ArrayList mi_lista = new ArrayList();

// agregamos el elemento, por defecto lo agregará de último
mi_lista.add(1, "elemento A");

Eliminar Elementos
Para eliminar elementos se dispone de el método remove(…) en el cual se recibe como argumento el objeto (sí, el objeto) o eleminar el elemento conociendo su indice el índice (posición).
Para este ejemplo supongamos que tenemos una clase Persona, que tiene nombre y edad, insertaremos unos cuantas personas en la lista y luego eliminaremos una de ellas usando las dos formas

• Eliminado según su índice en la lista


Persona persona_1 = new Persona("Julian", 20);
Persona persona_2 = new Persona("Bety", 17);
Persona persona_3 = new Persona("Marta", 22);

ArrayList mi_lista = new ArrayList();

// agregamos unos cuantos elementos
mi_lista.add(persona_1);
mi_lista.add(persona_2);
mi_lista.add(persona_3);
// la estructura de a lista ha quedado asi: 0 = [Julian] 1 = [Bety] 2 = [Marta]

// si queremos eliminar a "Betty" por su índice seria asi:
mi_lista.remove(1) // el 1 pertenece al índice o posicion de Betty en la lista
// la estructura de a lista ha quedado asi: 0 = [Julian] 1 = [Marta]

Marta ha pasado a la posición 1, ya que la lista forza a correr todos los elemenetos a al izquieda para que ocupe ese espacion eliminado, entonces el tamaño de la lista se reduce a 2 elementos únicamente

• La otra forma sería si le enviamos el objeto para que la lista lo identifique. Aclaro, ingresar un nuevo elemento con los mismos datos no significa que sea le mismo elemento, para que deba ser igual deber tener la misma instancia y/o la misma posición en memoria


Persona persona_1 = new Persona("Julian", 20);
Persona persona_2 = new Persona("Bety", 17);
Persona persona_3 = new Persona("Marta", 22);

ArrayList mi_lista = new ArrayList();

// agregamos unos cuantos elementos
mi_lista.add(persona_1);
mi_lista.add(persona_2);
mi_lista.add(persona_3);
// la estructura de a lista ha quedado asi: 0 = [Julian] 1 = [Bety] 2 = [Marta]

// si queremos eliminar a "Julian" debemos "enviarle a Juan" de nuevo
mi_lista.remove(persona_1) // se envia la instancia de Juan
// la estructura de a lista ha quedado asi: 0 = [bety] 1 = [Marta]

Otras funciones importantes

• Para determinar la cantidad de elementos de la lista solo se llama al metodo size()

int total = mi_lista.size();

• Para vaciar la lista y dejarla sin ningún elemento en ella se usa el método clear()

mi_lista.clear();

• Para saber si un objeto ésta insertado en lista usamos el método contains(…), el cual devuelve true si existe o un false si sucede lo contrario

boolean existencia = mi_lista.contains(elObjetoBuscado);

• Para saber si la lista esta vacía, es decir, si no tiene elementos usamos isEmpty() que devuelve true si NO hay elementos o un false si contiene algun elemnto.

boolean vacia = mi_lista.isEmpty();

• Para pasar o copiar los elementos a un arreglo de objetos (TipoObjeto objetos []) se usa el método toArray()

Object objetos [] = mi_lista.toArray();

IndexOf(Object o)
Esta función retorna la posición de un elemento que está en el array.

Persona a = new Persona ("Juan");
mi_lista.add(a);
Persona b = new Persona ("Marta");
mi_lista.add(b);
Persona c = new Persona ("Andrea");
mi_lista.add(c);

//retorna 2
int indice = mi_lista.indexOf(b);

addAll(Collection c)
Este método se encarga de anexar un arraylist a otra ya creado. Pero también se puede aplicar a otro tipo de listas que implementen la interfaz Collection.

ArrayList otra_lista = new ArrayList();
Persona d = new Persona ("Carlos");
otra_lista.add(d);
Persona e = new Persona ("Samuel");
otra_lista.add(e);

mi_lista.addAll( otra_lista );

39 comments

  1. Gracias por la informacion

  2. Gracias por los ejemplos, siempre vienen muy bien

  3. Tengo una duda..si yo tengo en un arraylist estos datos por ejemplo lista={pedro,46,60}, donde pedro es string y las notas son float o int.
    Luego agrego lista a un arreglo de objetos, como esta indicado arriba:
    Object objetos [] = lista.toArray();
    Es posible acceder a los datos?
    Por ejemplo,saber las notas de pedro, de maria etc..
    algo asi objetos[0].nota1

  4. Hola @pablo,

    Podrias poner mas detalles?
    - mas elememtos en el arrayList para ver que datos tienes en el
    - el arreglo de objetos que tipo de de datos tiene?

    pura vida

  5. Hola..eso ya lo solucione,pero ahora me tngo otra duda.
    tengo un arreglo de objetos de la clase Alumno (nombre,rut,nota..)

    Alumnos []al=new Alumno();
    al[1]=new Alumno(“pablo”,1675,44,32);// por ejemplo

    luego agrego los al[i] a un arraylist
    ArrayList lista=new Arraylist()
    lista.add(al[i]);
    Pude ordenar la lista por abecedario del nombre,pero mi problema es como buscar un elemento con binarysearch()
    hago esto y me sale error Collections.binarySearch(lista,”pablo”); //tambien probe cambiando Collections por arraylist

  6. Hola @pablo,

    Intenta lo siguiente, en esa clase donde estas haciendo el binarySearch() declara el siguiente atributo:

    private static final Comparator orden = new OrdenNormal();

    Seguidamente creas una clase interna:

    private static class OrdenNormal implements Comparator{
    
            public final int compare( String a, String b )
                {
                return a.compareToIgnoreCase( b );
                }
            }

    Ahora bien, luego de llamar a la linea lista.add(al[i]); agregas lo siguiente:

    Collections.sort( lista, orden );
    int encontrado = Collections.binarySearch( lista, "pablo", orden);
    System.out.println( encontrado);
    

    Ya me contaras como te fue. Pura vida

  7. Fijate que yo tengo un problema en las sesiones, ya que Los Datos de la base de Datos los guardo En un Array List y despues lo pongo de atributos en la sesion, pero el problema es que tendria que mostrar solo un dato, y muestra todos los datos que han pasado por la sesion, ya intente invalidate() y request.getSession().setAtribute(“Sesion”,null);
    Pero no funcionona

  8. Hola,

    Ya intentaste con session.removeAttribute(“Sesion”) ?
    Recuerda que para que tu jsp pueda ivalidar la sesion debe ser refrescada.

    Pura vida

  9. Hola estuve probando la parte de verificar si el ArrayList esta vacio o no, comando isEmpty(). Creo que es lo contrario, false cuando tiene elementos y true cuando esta vacia.

    boolean vacia = lista.isEmpty();
    System.out.println(“Tiene algo?=” + vacia);

    Gracias por tu Aporte, me ha servido.

  10. hola tengo este metodo :

    public ArrayList getEdificios() {

    ArrayList lista = new ArrayList();

    try {
    PreparedStatement stm = con.prepareStatement(“SELECT * FROM ma “);

    ResultSet rs = stm.executeQuery();

    while (rs.next())
    {
    int id = rs.getInt(“codigo”);
    String nombre = rs.getString(“nombre”);
    String direccion = rs.getString(“direccion”);
    int pisos= rs.getInt(“Pisos”);
    int ascensores= rs.getInt(“ascensores”);
    int matafuegos= rs.getInt(“matafuegos”);
    int salaemergencia= rs.getInt(“salidas”);
    int deptos= rs.getInt(“departamentos”);

    String ultfumi= rs.getString(“ultimaFumigacion”);

    String proxfumi = rs.getString(“proximaFumigacion”);

    Edificio ed = new Edificio(id,nombre, direccion, pisos,ascensores, matafuegos,salaemergencia,deptos, ultfumi,proxfumi);

    lista.add(ed);

    }//end try
    }
    catch (SQLException e)
    {
    e.printStackTrace();
    System.exit(1);
    }//END CATCH

    return lista;
    }

    Ese metodo esta ne una clase, No se como cargar un Jtable.

    Gracias!

  11. Tengo el citado metodo getEdificios(), en una clase en donde estan todas las sentencias del hsqld y quiero
    desde mi jframe (mi vista), en el evento de una boton al hacer click, cargar una jtable, que se encuentra dentro de un jpanel. desde ya muchas gracias

  12. Estoy intentando utilizar SQLOutput.writeArray pero lo estoy intentando cargar con un java.util.ArrayList o un java.util.List , es decir necesito guardar un java.util.Arraylist en un java.sql.Array

  13. Excelente explicacion. Te felicito hombre. ;)

  14. Hola! no encuentro mi error, cuando se ejecuta el programa no puedo buscar un elemento con el método contains, siempre dice que no esta el objeto (aunque si este), intente buscar con indexOf, pero tambien sale -1… Creo que debe estar algo mal con la forma de agregar elementos al ArrayList ¿puedes ayudarme? :-)

    import java.util.Scanner;
    import java.util.ArrayList;
    public class Fechas
    {
    public static void main(String[] args)
    {
    int op; Scanner lee = new Scanner(System.in);
    boolean enc;
    Fecha tmp;
    ArrayList F = new ArrayList();

    do
    {
    System.out.println(“\t Fechas \n1.Agrega Fecha \n2.Imprimir”
    +”Fechas \n3.Buscar Fecha \n4.Salir \n opcion:”);
    op = lee.nextInt();

    switch(op)
    {
    case 1:
    tmp = new Fecha();
    tmp.setFecha(); //Método para poner datos al objeto
    System.out.println(“Ingresa: ” + tmp.toString());
    F.add(tmp);
    break;

    case 2:
    for(int i=0; i<F.size(); i++)
    {
    tmp = F.get(i);
    tmp.getFecha(); //Metodo para imprimir al objeto
    }
    break;

    case 3:
    Fecha tmp2 = new Fecha();
    tmp2.setFecha();
    tmp2.getFecha();
    enc = F.contains(tmp2);
    System.out.println(enc);
    break;

    case 4:
    break;

    default:
    System.out.println("NO VALIDO");

    }//sw
    }while(op!=4);
    }//main
    }//clase

    ————– LA CLASE FECHA ———–

    import java.util.Scanner;

    public class Fecha
    {

    public Fecha()
    {
    dia = 1;
    mes = 1;
    anio = 2011;
    lee = new Scanner(System.in);
    }

    public void setFecha()
    {
    System.out.println("ingresa dia-mes-año");
    dia= lee.nextInt();
    mes= lee.nextInt();
    anio= lee.nextInt();
    }

    public void getFecha()
    {
    System.out.println("Fecha : " + dia + " " + mes + " " + anio );
    }
    public String toString()
    {
    String x = dia + "/" + mes + "/" + anio;
    return x;
    }
    Scanner lee;
    int dia,mes,anio;
    }

  15. Hola, ya encontre la solución.
    GRACIAS!

  16. hola por favor puedes publicar tu solucion..
    yo tbm tengo un problema similar

    y recuerda qqqqqqqqq
    sts es un sitio para compartir conocimientos

    gracias d antemano..

  17. Alejandro

    Hola quisiera que me explicaran, como imprimir un arraylist…gracias

  18. marco lopez

    buena informacion gracias por aporte
    cuidense

  19. // alguien me ayude este es my examen y no lo e terminado es una lista de empleado con nomres horas trabajadas y pago por hora y lo que me falta es una condicion que me diga cual empleado es que menos cobra

    import java.util.Scanner;
    import java.util.ArrayList;
    import java.util.*;

    public class Programa{

    public ArrayList listaEmpleados = new ArrayList();

    public static void main(String[] args){
    Programa p = new Programa();
    p.mostrarMenu();
    }

    public void mostrarMenu(){
    System.out.println(“******* Francis H. Mota Valera *******”);
    System.out.println(“******** Matricula # 86766 ********\n”);
    System.out.println(“************* Menu de seleccion *************\n\n\n”);
    System.out.println(“1) Agregar Empleado”);
    System.out.println(“2) Consultar Empleado”);
    System.out.println(“3) Listar todos los Empleados”);
    System.out.println(“4) Mostrar ultimo Empleado”);
    //estas son las tres opciones mas
    System.out.println(“5) Impresion de nomina de todos los empleados: “);
    System.out.println(“6) Impresion de Empleado que menos salario * gana *: “);
    System.out.println(“7) Impresion de Empleado que mas salario * gana *: “);
    // estas la puse de ultimo por que se veria feo en el medio de las otras
    System.out.println(“8) Salir\n\n\n”);
    System.out.print( “Digite aqui el numero de su opcion: “);
    Scanner l = new Scanner(System.in);

    int numeroOpcion = l.nextInt();

    switch(numeroOpcion){

    case 1:
    double horasTrabajadas = 0;
    int id = 0;
    int pagoPorHora = 0;
    String nombre = “”;
    String puesto = “”;
    String fechaIngreso = “”;
    System.out.print(“Digite Fecha De Ingreso “);
    fechaIngreso = l.next();
    //System.out.println(” Hoy ” + new Date() );
    System.out.print(“Digite aqui el ID del nuevo empleado: “);
    id = l.nextInt();
    System.out.print(“Digite el nombre: “);
    nombre = l.next();
    System.out.print(“Digite el puesto: “);
    puesto = l.next();
    //esto es los atributos nuevos nuevo
    System.out.print(“Digite aqui hora a trabajar “);
    horasTrabajadas = l.nextInt();
    System.out.print(“Digite aqui Pago Por hora “);
    pagoPorHora = l.nextInt();

    Empleado p = new Empleado(id,pagoPorHora,horasTrabajadas, nombre,puesto,fechaIngreso);
    listaEmpleados.add(p);
    System.out.println(“Empleado agregado con exito!\n\n\n”);

    break;

    case 2:
    int Total = 0;
    int id2 =0;
    System.out.print(“Digite aqui el ID a consultar: “);
    id2 = l.nextInt();

    for(Empleado emp : listaEmpleados){
    if(id2== emp.id){
    System.out.println(“\n El empleado buscado es: ” + emp.nombre + ” trabaja en ” + emp.puesto +
    ” y su suerdo sera:” + emp.pagoPorHora*emp.horasTrabajadas + “\n Fecha Inicial “+ new Date() + “\n” );

    }
    else{
    System.out.println(” \n******El ID buscado no Existe*****”);
    }

    }

    break;

    case 3:

    for(Empleado emp : listaEmpleados){
    System.out.println(“\n Empleado # ” + emp.id + “\t Nombre: ” + emp.nombre + ” \t Puesto: ” + emp.puesto+ “\n”);
    }

    break;

    case 4:
    int cantidadEmpleados = listaEmpleados.size();
    Empleado emp = listaEmpleados.get(cantidadEmpleados-1);

    System.out.println(“\n El ultimo empleado es : ” + emp.nombre + ” trabaja en ” + emp.puesto+”\n”);

    break;
    // esta es una de las nuevas ocpciones
    case 5:

    for(Empleado emp1 : listaEmpleados){
    System.out.println(“\n Empleado ” + “\t Nombre: ” + emp1.nombre + ” \t Puesto: ” +
    emp1.puesto + “\t”+ ” Salario : ” + emp1.horasTrabajadas*emp1.pagoPorHora+”\n”);
    }

    break;

    case 6:

    /*int total = listaEmpleados.size();
    Empleado emp2 = listaEmpleados.get(total+1);

    System.out.println(“\n El ultimo empleado es : ” + emp2.nombre + ” trabaja en ” + emp2.puesto+”\n”);

    for(Empleado emp2 : listaEmpleados){
    System.out.println(emp2.nombre+” : es el empleado que mas salario Gana ” + emp2.horasTrabajadas*emp2.pagoPorHora);
    }

    */

    break;

    case 7:

    break;

    //ahora la optcion 8 es la de salir
    case 8:
    System.exit(0);
    break;

    default:
    System.out.println(” \n****** Opcion No Valida ********\n”);
    break;

    }
    mostrarMenu();
    }

    }

    class Empleado{

    public String fechaIngreso;
    public int id;
    public String nombre;
    public String puesto;
    public double horasTrabajadas;
    public int pagoPorHora;
    public Empleado(int id,int pagoPorHora,double horasTrabajadas,String nombre, String puesto,String fechaIngreso){
    this.id = id;
    this.nombre = nombre;
    this.puesto = puesto;
    this.horasTrabajadas = horasTrabajadas;
    this.pagoPorHora = pagoPorHora;
    this.fechaIngreso=fechaIngreso;
    //estos son los dos nuevos atributos

    }

    }

  20. francis :
    // alguien me ayude este es my examen y no lo e terminado es una lista de empleado con nomres horas trabajadas y pago por hora y lo que me falta es una condicion que me diga cual empleado es que menos cobra
    import java.util.Scanner;
    import java.util.ArrayList;
    import java.util.*;
    public class Programa{
    public ArrayList listaEmpleados = new ArrayList();
    public static void main(String[] args){
    Programa p = new Programa();
    p.mostrarMenu();
    }
    public void mostrarMenu(){
    System.out.println(“******* Francis H. Mota Valera *******”);
    System.out.println(“******** Matricula # 86766 ********\n”);
    System.out.println(“************* Menu de seleccion *************\n\n\n”);
    System.out.println(“1) Agregar Empleado”);
    System.out.println(“2) Consultar Empleado”);
    System.out.println(“3) Listar todos los Empleados”);
    System.out.println(“4) Mostrar ultimo Empleado”);
    //estas son las tres opciones mas
    System.out.println(“5) Impresion de nomina de todos los empleados: “);
    System.out.println(“6) Impresion de Empleado que menos salario * gana *: “);
    System.out.println(“7) Impresion de Empleado que mas salario * gana *: “);
    // estas la puse de ultimo por que se veria feo en el medio de las otras
    System.out.println(“8) Salir\n\n\n”);
    System.out.print( “Digite aqui el numero de su opcion: “);
    Scanner l = new Scanner(System.in);
    int numeroOpcion = l.nextInt();
    switch(numeroOpcion){
    case 1:
    double horasTrabajadas = 0;
    int id = 0;
    int pagoPorHora = 0;
    String nombre = “”;
    String puesto = “”;
    String fechaIngreso = “”;
    System.out.print(“Digite Fecha De Ingreso “);
    fechaIngreso = l.next();
    //System.out.println(” Hoy ” + new Date() );
    System.out.print(“Digite aqui el ID del nuevo empleado: “);
    id = l.nextInt();
    System.out.print(“Digite el nombre: “);
    nombre = l.next();
    System.out.print(“Digite el puesto: “);
    puesto = l.next();
    //esto es los atributos nuevos nuevo
    System.out.print(“Digite aqui hora a trabajar “);
    horasTrabajadas = l.nextInt();
    System.out.print(“Digite aqui Pago Por hora “);
    pagoPorHora = l.nextInt();
    Empleado p = new Empleado(id,pagoPorHora,horasTrabajadas, nombre,puesto,fechaIngreso);
    listaEmpleados.add(p);
    System.out.println(“Empleado agregado con exito!\n\n\n”);
    break;
    case 2:
    int Total = 0;
    int id2 =0;
    System.out.print(“Digite aqui el ID a consultar: “);
    id2 = l.nextInt();
    for(Empleado emp : listaEmpleados){
    if(id2== emp.id){
    System.out.println(“\n El empleado buscado es: ” + emp.nombre + ” trabaja en ” + emp.puesto +
    ” y su suerdo sera:” + emp.pagoPorHora*emp.horasTrabajadas + “\n Fecha Inicial “+ new Date() + “\n” );
    }
    else{
    System.out.println(” \n******El ID buscado no Existe*****”);
    }
    }
    break;
    case 3:
    for(Empleado emp : listaEmpleados){
    System.out.println(“\n Empleado # ” + emp.id + “\t Nombre: ” + emp.nombre + ” \t Puesto: ” + emp.puesto+ “\n”);
    }
    break;
    case 4:
    int cantidadEmpleados = listaEmpleados.size();
    Empleado emp = listaEmpleados.get(cantidadEmpleados-1);
    System.out.println(“\n El ultimo empleado es : ” + emp.nombre + ” trabaja en ” + emp.puesto+”\n”);
    break;
    // esta es una de las nuevas ocpciones
    case 5:
    for(Empleado emp1 : listaEmpleados){
    System.out.println(“\n Empleado ” + “\t Nombre: ” + emp1.nombre + ” \t Puesto: ” +
    emp1.puesto + “\t”+ ” Salario : ” + emp1.horasTrabajadas*emp1.pagoPorHora+”\n”);
    }
    break;
    case 6:
    /*int total = listaEmpleados.size();
    Empleado emp2 = listaEmpleados.get(total+1);
    System.out.println(“\n El ultimo empleado es : ” + emp2.nombre + ” trabaja en ” + emp2.puesto+”\n”);
    for(Empleado emp2 : listaEmpleados){
    System.out.println(emp2.nombre+” : es el empleado que mas salario Gana ” + emp2.horasTrabajadas*emp2.pagoPorHora);
    }
    */
    break;
    case 7:
    break;
    //ahora la optcion 8 es la de salir
    case 8:
    System.exit(0);
    break;
    default:
    System.out.println(” \n****** Opcion No Valida ********\n”);
    break;
    }
    mostrarMenu();
    }
    }
    class Empleado{
    public String fechaIngreso;
    public int id;
    public String nombre;
    public String puesto;
    public double horasTrabajadas;
    public int pagoPorHora;
    public Empleado(int id,int pagoPorHora,double horasTrabajadas,String nombre, String puesto,String fechaIngreso){
    this.id = id;
    this.nombre = nombre;
    this.puesto = puesto;
    this.horasTrabajadas = horasTrabajadas;
    this.pagoPorHora = pagoPorHora;
    this.fechaIngreso=fechaIngreso;
    //estos son los dos nuevos atributos
    }
    }

  21. Francis Ferrer

    Gracias por las informaciones bridadas son de mucha ayuda

  22. La mayoria de post creo que ya estan resueltos, siento mucho haberme tardado, pero ya ando aca :)

  23. Enseñeme como usar arraylist con clases x fa

    • Concretamente qué quieres? Dime cual es tu duda, porque creo que el ejemplo de arriba de puede servir. :)

  24. Que tal, he buscado y buscado en la red sobre ArrayList para resolver un problema, pero ninguno me da la informacion que busco, la cosa es así….todos usan arreglos que llenan de forma predeterminada desde el código…..como le hago para que el que lo llene sea el usuario del programa atravez del teclado….necesito crear un objeto sonde seguarden estos datos primero?….si es asi….despues como se los agrego a cada posisión del array?…..estoy algo confundido….de antemano gracias.

    saludos

    • Tienes varias formas, una de ellas es hacer un formulario que tenga JTextField (campo de texto donde el usuario digita con el teclado), y atrapas el texto asi:

      String ingresado = campoTexto.getText();
      

      luego lo guardas directamente si quieres:

      el_arraylist.add(ingresado);
      

      o bien, asignas el texto a un objeto:

      unObjeto.setAtributo(ingresado);
      

      y luego lo guadaras en el arraylist:

      el_arraylist.add(unObjeto);
      
  25. Muchas gracias por tu respuesta…..intentare el segundo metodo para ver los resultados, el primero no lo puedo usar ya que lo estoy haciendo para modo consola…(soy novato)…aún no llego a la parte de windows forms…si tengo algun problema en implementarlo…te molestare nuevamente….gracias y Saludos

    P.D. en que lugar del mundo estas?, ya que tu respuesta aparece como si fuera el día de mañana…es decir aca es 15 de marzo y tu respuesta aparece como 16 de marzo….Gracias

    • Claro, no dude en preguntar que por lo general ando pendiente y aunque me tarde de un día para otro pues siempre ando acá.
      En cuanto al lugar me encuentro en Costa Rica, realmente no me había percatado de la hora, pero ya la actualicé, gracias a vos :)

  26. Oscar lucio

    Hola yo hice un post para solucionar un problema con jtable y arrayalist lo cual aun no lo he solucionado pero si alguien tiene alguna idea seria genial que me ayude gracias de antemano aca les dejo el link del post

    http://www.forosdelweb.com/f45/problema-con-jtable-arraylist-982786/

  27. Buenas, tengo una duda sobre como agregar objetos ya creados a una nueva clase. Mi caso es que creo objetos de la clase Nota y los quiero agregar a la clase Libreta. Este es el codigo que utilizo pero no me compila. Trato de agregar los objetos a traves de uno de sus campos (titulo), pero no consigo hacerlo bien, a ver si alguien me puede ayudar.

    public void agregarNota(String titulo)
    {
    Nota n = new Nota();
    for(int f=0; f<numeroNotas(); f++) {
    if(numeroNotas() == 0) {
    this.libretaNotas.add(titulo);
    }
    else {
    n = libretaNotas.get(f);
    if(n.getTitulo() != titulo) {
    this.libretaNotas.add(titulo);
    }
    }
    }
    }
    Gracias y un saludo.

    • Hola timi,

      ¿qué error te lanza? así a como está tu código no parece nada malo.

      • Hola manix,
        el error es el siguiente:
        cannot find symbol-method add(java.lang.String)
        en la linea donde pone:
        this.libretaNotas.add(titulo);
        Gracias y un saludo.

  28. Buenas, la anterior duda la he solucionado cambiando todo el metodo, pero ahora me ha surgido otra duda.
    Estoy implementando un metodo lanzador, para poder ejecutarlo fuera del entorno de programacion, y me he atascado en lo siguiente:

    Nota n = new Nota();
    Nota t = new Nota();
    for(int f=0; f<lib2.numeroNotas(); f++) {
    t.setFecha(21, 4, 2012);
    n = Libreta lib2.libretaNotas.get(f);
    if(n.getFecha == t.getFecha) {
    n.printTitulo();
    }
    }
    lo que trato de hacer con esto es que me imprima el titulo de una nota que tenga la misma fecha que le he dado a la nota t.
    El problema es que no me compila, se me para en la linea donde pongo n = Libreta lib2.libretaNotas.get(f); la cual deberia ir llamando a todas las notas que tengo en lib2, pero algo pongo mal porque no me compila, a ver si alguien me pueda ayudar, muchas gracias y un saludo.

    • intenta: n =(Libreta) …

      • Hola manix, he puesto Libreta entre parentesis y me da el siguiente error:
        libretaNotas has private access in Libreta

      • libretaNotas lo tienes como privado. Solo te falta hacer el método get respectivo:

        POr ejemplo:

        public ArrayList getLibretaNotas(){
        return this.libretaNotas;
        }

        y luego lo llamas asi donde te lanza el error:
        n = (Libreta) lib2.getLibretaNotas().get(f);

  29. steephen

    indexOf(Object o)
    addAll(Collection c)

    un ejemplito de estos dos xD
    digo si se puede D:
    :D

    • Hola @steephen, el post ya esta actualizado y puedes ver al final de él los dos métodos que mencionas! saludos :)

Leave a Reply