Seguidores

MIS WEBS



domingo, 22 de abril de 2018

Clase ArrayList java


 ArrayLis

¿Que es un arrayList?


ArrayList implementa la lista con arreglos linkeados, lo que la hace muy eficiente para recorrer pero ineficiente para insertar o eliminar elementos que se no encuentren en el final.

Sintaxis de un arrayList


Tenemos que tener en cuenta que no nos dejará utilizar variables de datos primitivos, para poderlo utilizar datos primitivos tenemos que crear una clase envoltorio.



Constructores:

ArratList()

Cuando utilizamos este constructor nuestro array se diseña para almacenar 10 elementos, cuando escemos este tamaño nos deja almacenarlos, pero optimizaremos mal el espacio en memoria ya que cada vez que excedan 10 elementos creará un espacio en memoria que ira aumentando dinámicamente.

ArrayList<Tipo_dato_almacenado> Nombrea_ArrayList = new ArrayList <Tipo_dato_almacenado>();









Métodos :


Add() : incluirá un registro en nuestro ArrayList
public class EjemploArrayList {
       public static void main(String[] args) {
ArrayList<Tipo_dato_almacenado> Nombrea_ArrayList = new ArrayList <Tipo_dato_almacenado>();

             Nombrea_ArrayList.add(new Tipo_dato_almacenado("xxx",20000,1));
             Nombrea_ArrayList.add(new Tipo_dato_almacenado("qq",500,10));
             Nombrea_ArrayList.add(new Tipo_dato_almacenado("dd",8000,5));
             Nombrea_ArrayList.add(new Tipo_dato_almacenado("rr",989898,2));
             Nombrea_ArrayList.add(new Tipo_dato_almacenado("rt",258258,3));
             Nombrea_ArrayList.add(new Tipo_dato_almacenado("t",8888888,12));
       }
}
class Tipo_dato_almacenado {
       String TEXTO;int numero;int numero2;
       public Tipo_dato_almacenado(String TEXTO, int numero, int numero2) {
             this.TEXTO = TEXTO;this.numero= numero;this.numero2=numero2;
       }
}
Iterator(): Recorrea nuestro arrayList
Size(): Nos dice cual es el tamaño de nuestro ArrayList, cuantos registros contiene.
Nombre_ArrayList.size()

trimToSize(): Si ponemos esta instrucción al final de nuestro array liberará espacio en memoria.

Nombre_ArrayList.trimToSize();

Set(posición elemento, elemento):  lo utilizaremos en lugar del add cuando deseemos poner el nuevo registro en una posición determina de nuestro ArrayList. Así pondríamos este registro en la posición 1 de nuestro arrayList
       Nombre_ArrayList.set(0, new Tipo_dato_almacenado("xxx",20000,1));

Así pondríamos este registro en la posición 5 de nuestro arrayLis.
       Nombre_ArrayList.set(4, new Tipo_dato_almacenado("xxx",20000,1));



get(index):  Obtener elemento que se encuantra en una posición determinada.
             Nombre_ArrayList.get(5);

ensureCapacity(minCapacity): Le indicamos a nuestro arraylist que capacidad ha de tener, para evitar que gaste mas recursos de los necesarios.
             Nombre_ArrayList.ensureCapacity(Nombre_ArrayList.size());

Iterator(): Recorrea nuestro arrayList. Este método nos regresará un objeto de tipo iterator que es una interface que tiene java con unos métodos útiles para recorrer arrayList.

         Métodos Interface Iterator

  • Hasnext(): Nos indica si tienermo un registro tras el actual.Nos regresará un boolean.
  •  Next() : Nos regresará el siguiente elemento de la colección.
  •  Remove(): Eliminará el elemento con que estemos interaccionando en ese momento.
Iterator <Tipo_dato_almacenado> xxx = Nombre_ArrayList.iterator();
             while(xxx.hasNext()) {
                    System.out.println(xxx.next().EsDAto());

             }

Come recorrer un arrayList con un bucle for


public class EjemploArrayList {
        public static void main(String[] args) {
ArrayList<Tipo_dato_almacenado> Nombre_ArrayList = new ArrayList <Tipo_dato_almacenado>();
                Nombre_ArrayList.add(new Tipo_dato_almacenado("xxx",20000,1));
                Nombre_ArrayList.add(new Tipo_dato_almacenado("qq",500,10));
                Nombre_ArrayList.add(new Tipo_dato_almacenado("dd",8000,5));
                Nombre_ArrayList.add(new Tipo_dato_almacenado("rr",989898,2));
                Nombre_ArrayList.add(new Tipo_dato_almacenado("rt",258258,3));
                Nombre_ArrayList.add(new Tipo_dato_almacenado("t",88888888,12));             
                Nombre_ArrayList.set(0, new Tipo_dato_almacenado("xxx",20000,1));
                        for(int i=0;i<Nombre_ArrayList.size();i++) {
                        System.out.println(Nombre_ArrayList.get(i).EsDAto());
                }
        }
}
class Tipo_dato_almacenado {
        String TEXTO;
        int numero;
        int numero2;
        public Tipo_dato_almacenado(String TEXTO, int numero, int numero2) {
                this.TEXTO = TEXTO;this.numero= numero;this.numero2=numero2;
        }      
        public String EsDAto() {
return "El texto es  "+ TEXTO+"\n El nuero 1 es  "+numero+"\n El numero 2 es   "+numero2;
        }
}



Ejmplo 
ArrayList:

package mis_frames;
import java.util.*;
public class array {
        public static void main(String[] args) {
                List<String> i = new ArrayList<String>();
                i.add("z");
                i.add("x");
                i.add("a");
                i.add("b");
       
                Iterator<String> x = i.iterator();
        while(x.hasNext()) {
             System.out.println(x.next());
        }
    }
}



Si lo queremos recorrer con un ForEach


for(Tipo_dato_almacenado z:Nombre_ArrayList) {
         System.out.println(z.EsDAto());
     }

Utilizando Iterator:



Iterator <Tipo_dato_almacenado> xxx = Nombre_ArrayList.iterator();
             while(xxx.hasNext()) {
                    System.out.println(xxx.next().EsDAto());
             }

No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital