Java Collection Framework: ArrayList

Las aplicaciones suelen necesitar almacenar un conjunto de datos en un único objeto. Los arrays son útiles para esto, pero algunas veces necesitamos incrementar o reducir dinámicamente el número de elementos del array, o hacer que guarde diferentes tipos de datos, cosa que no se puede hacer en un aray.



Para esta clase de conjuntos podemos usar la clase ArrayList del paquete java.util.

Un ArrayList guarda tantos objetos como necesitemos agregarle.
ArrayList tiene varios constructores y dependiendo de cómo necesitemos construir el ArrayList, podemos invocar cualquiera de ellos. Los siguientes dos constructores son los mas comunes de uso:
  • ArrayList() crea un ArrayList con capacidad cero por defecto, pero crecerá según le vayamos añadiendo:
    ArrayList arrList = new ArrayList()
  • ArrayList(int capacidadInicial) construye un ArrayList vacío con una capacidad inicial definida por el usuario. Util para optimizar la asignación de memoria:
    ArrayList arrListCustom = new ArrayList(20);
Un ArrayList contiene solamente las referencias a los objetos internos. No se puede almacenar tipos primitivos como double , long , o float. Para esto usamos un wraper (envoltura), como se desmuestra abajo. Para añadir objetos al ArrayList , llamamos a sus métodos con el operador punto:

      //agregar un String
      arrList.add("Java Technology Book");

      //
agregar un double en una clase wrapper
     
arrList.add(new Double(50.00)); 

      //imprime el tamaño del ArrayList
      System.out.println(
arrList.size() ); 

Si necesitamos circular a través de los elementos del ArrayList , usamos la clase Iterator y sus métodos hasNext y next :

               Iterator alIt = al.iterator(); 
      while (alIt.hasNext()) { 
          System.out.println(alIt.next() + " "); 
      } 

ArrayList es una de las muchas clases del Collection Framework , que proporciona un conjunto de interfaces y clases bien-diseñados para almacenar y manipular grupos de datos como una sola unidad, una coleccion.

No hay comentarios:

Publicar un comentario