Síntesis sobre ArrayList
Transcripción
Síntesis sobre ArrayList
Síntesis sobre ArrayList Corina Flores V. Corina Flores ‐ UMSS ‐ MEMI Colección Grupo de objetos de un mismo tipo que tienen algo en común. Ej. Color, tamaño, forma, peso. Corina Flores ‐ UMSS ‐ MEMI La clase ArrayList – – Aplicaciones o problemas del mundo real, frecuentemente necesitan almacenar un grupo de datos en un sólo objeto. Por ejemplo, compras vía Internet, inscripción en el padrón electoral, representar colecciones de datos sobre productos, cosas, etc. ArrayList es una de las muchas clases implementadas por Java, que proporciona un conjunto de interfaces y clases diseñadas para almacenar y manipular grupos de datos como una sola unidad, una colección. Corina Flores ‐ UMSS ‐ MEMI La clase ArrayList – – – Los ArrayList sirven bien para este propósito, pero algunas veces necesitamos incrementar o reducir dinámicamente el número de elementos del ArrayList. Por ej. Esto es común entre las aplicaciones como las tiendas online. Un cliente añade un producto a su carro de compra, así como también puede decidir al momento de pagar no llevar por falta de dinero, esto nos da la idea de que, los productos pueden ser almacenados y eliminados. Para esta clase de grupos de datos que pueden crecer y disminuir automáticamente, podemos usar la clase ArrayList del paquete java.util. Corina Flores ‐ UMSS ‐ MEMI La clase ArrayList – Entonces, lo primero que habrá que hacer en el código es importar el paquete. Así: Import java.util.ArrayList; – Solo despues podemos proceder con la declaración de variables del tipo ArrayList, de la siguiente forma: class tienda{ private ArrayList <String> producto; } Corina Flores ‐ UMSS ‐ MEMI La clase ArrayList Luego en el constructor de Tienda, se debe obligatoriamente crear el objeto de tipo ArrayList, así: public Tienda() { producto = new ArrayList<String>(); } De esta manera, se crea un objeto de tipo ArrayList<String> que almacenará String (cadenas) en el campo producto. Corina Flores ‐ UMSS ‐ MEMI La clase ArrayList Las clases como ArrayList son conocidas como clases genericas, porque entre los símbolos <> pueden representar a cualquier tipo de objeto. Ej.: Personas, Carreras, String, etc. La clase ArrayList, tiene implementados muchos métodos, entre los que son de mayor uso, tenemos: add(), para añadir un elemento al final del array remove(), para eliminar un elemento de la posición size(), para averiguar el número de elementos que contiene el ArrayList get(), para obtener un elemento de una posición indicada • Corina Flores ‐ UMSS ‐ MEMI especifi La clase ArrayList Sobre la clase ArrayList se puede realizar tambien recorridos, es decir, mostrar o buscar los elementos que contiene, para lo que se requiere utilizar estructuras de control como: for each while Iterator() Corina Flores ‐ UMSS ‐ MEMI La clase ArrayList Para añadir un elemento en la lista, se utiliza el método add(elemento). Por ejem. public void agregarProducto(String prod) { producto.add(prod); } Corina Flores ‐ UMSS ‐ MEMI La clase ArrayList Para eliminar un elemento en la lista, se utiliza el metodo remove(posición elto) public void eliminarProducto(int pos) { producto.remove(pos); } Corina Flores ‐ UMSS ‐ MEMI La clase ArrayList Para averiguar el número de elementos actuales que contiene la lista, se utiliza el metodo size() public int numeroEltos() { return producto.size(); } Corina Flores ‐ UMSS ‐ MEMI La clase ArrayList Para obtener un elemento de la lista, se utiliza el metodo get() System.out.println(producto.get(i); donde i hace referencia a la posición del elemento a obtener. Corina Flores ‐ UMSS ‐ MEMI La clase ArrayList Para realizar recorridos sobre el ArrayList ya sea para efectuar una búsqueda o simplemente una impresión de los elementos que contiene, se utilizan diferentes tipos de estructuras de control, veamos el primero: FOR EACH for (Tipo_Elemento elemento : colección) { // cuerpo del ciclo Recordar que, el tamaño de una colección esta determinado como: } [0 … (tamaño -1)] Donde: Tipo_Elemento: String Cuidado! elemento: prod No intentar acceder a elementos de colección: producto la colección fuera de los índices válidos. Cuando uno . intenta, esto da un error Corina Flores ‐ UMSS ‐ MEMI La clase ArrayList Un ejemplo completo de un método que permite mostrar o listar los elementos de un ArrayList utilizando el ciclo for each sería: Public void mostrarElementos() { for (String prod: producto) { System.out.println(prod); } } Corina Flores ‐ UMSS ‐ MEMI La clase ArrayList Una estructura de control equivalente al for each, es el while, con la diferencia que esta estructura necesita para realizar el recorrido sobre la lista de un indice. Aqui tenemos un ejemplo completo de un método que permite mostrar o listar los elementos de un ArrayList utilizando while: Public void mostrarElementos() { int indice = 0; while (indice <producto.size() ) { System.out.println(producto.get(indice)); indice++; } } Corina Flores ‐ UMSS ‐ MEMI