Professional Documents
Culture Documents
consigo
las
llamadas
ArrayList es la clase ideal si vamos a realizar muchas operaciones de acceso aleatorio sobre
la lista, ya que al estar implementado mediante un array dichas operaciones tienen un coste
constante e independiente del tamao de la lista. Sin embargo, esta clase no es la ms
adecuada si el tamao de la lista va a estar creciendo y decreciendo continuamente, ya que
implica reservar una memoria para el array interno; y las operaciones de borrado o insercin
en el medio de la lista tienen un coste lineal con el tamao de sta, ya que potencialmente
implican desplazar hacia adelante (en la insercin) o hacia atrs (en el borrado) todos los
elementos de la lista. LinkedList por la contra tiene un rendimiento malo (lineal en el nmero
de elementos) para las operaciones de acceso aleatorio, ya que pueden implicar recorrer
todos los elementos de la lista. Sin embargo, las operaciones de borrado o insercin en el
medio, o el crecer o decrecer dinmicamente su tamao tienen un coste constante e
independiente del nmero de elementos que contenga la lista (ver figura 2). Dependiendo de
la aplicacin concreta para la cual necesitemos la lista ser mejor optar por una u otra
implementacin.
por la lnea:
List lista = new ArrayList();
La clase LinkedList implementa la interface List. Eso quiere decir que tendr
una serie de mtodos propios de esta interface y comunes a todas las
implementaciones. As utilizando siempre que se pueda declaracin de
objetos del tipo definido por la interface podemos cambiar de forma
relativamente fcil su implementacin (por ejemplo pasar de ArrayList a
LinkedList y viceversa) y conseguir mejoras en el rendimiento de nuestros
programas con poco esfuerzo.
/* Ejemplo Interface List aprenderaprogramar.com */
public class Persona{
private int idPersona;
private String nombre;
private int altura;
@Override
public String toString() {
return "Persona-> ID: "+idPersona+" Nombre: "+nombre+" Altura: "+altura+"\n";
}
}