miércoles, 21 de mayo de 2008

Observación a ArrayList

cuando queremos trabajar con un famoso array ,pero que no sabemos su largo ,
es necesario ocupar el ArrayList que pertenece a la interfaz List de las famosas colecciones de java , existen muchas otras interfaces que seria importante de averiguar , en mi caso me baje unos manuales de colecciones y de las otras interfaces como set y map aprendi lo básico y sus principales características , y considero que con eso me podré defender si alguna vez me salen en un código y así no daré la hora jajajajaja .
regresando al ArrayList o también el LinkedList que su forma de trabajar son las mismas , pero tienen rendimiento diferentes en algunas circunstancias , cabe destacar que cuando guardamos elementos estos son de tipo object y no del tipo que estamos guardando , esta es una gran diferencia con los array que si guardan un tipo .
entonces cuando necesitemos obtener un objeto tenemos que realizar un casting del tipo de objeto que guardamos.

Bueno existen muchas mas observaciones ,pero como experiencia personal realmente son muy útiles .

Un sencillo ejemplo:

/////////////////////////////////////////////////////////////////////////////
public class gato {

private String nombre=null;

public gato(String nombre) {

this.nombre=nombre;
}

public String me_llamo(){

return nombre;
}

}

////////////////////////////////////////////////////////////////////////////////


import java.util.*; // libreria necesaria

public class ejemplo_ArrayList {

public ejemplo_ArrayList() {
}

public static void main(String[] args){

ArrayList al=new ArrayList();
// es posible ArrayList al=new ArrayList(); asi no nos da una
//advertencia el compilador y tiene otros motivos pero para la otra lo explicamos

al.add(new gato("perla"));
al.add(new gato("timoteo"));
al.add(new gato("wily"));

Iterator it=al.iterator(); // nos sirve para recorrer el arrayList

while(it.hasNext()){

gato g=(gato)it.next(); // el casting que hable
System.out.println(g.me_llamo());

}

}

}

1 comentario:

Yolanda dijo...

Soy principiante en Java y me acabas de solucionar una gran problema que tenía, estoy haciendo un curso y no sabía como acceder a la clase del arraylist.