Bienvenidos sean a este post, hoy hablaremos sobre la interfaz List la cual se encarga de extender a la interfaz Collection y declara la conducta de una coleccion que almacena una secuencia de elementos, algunas de estas son:

  • Los elementos pueden ser ingresados o accedidos por su posicion en la lista basado en un indice de base cero
  • Una lista puede contener elementos duplicados
  • Ademas de los metodos de Collection, List define algunos metodos adicionales que veremos luego
  • Varios de los metodos pueden lanzar un UnsupportedOperationException si la coleccion no puede ser modificada o un ClassCastException si es generada cuando un objeto es incompatible con el otro

Veamos algunos de los metodos disponibles para esta interfaz:

  • void add(int indice, Object o), ingresa el objeto dentro de la lista en la posicion informada por indice, en caso de existir la modifica
  • boolean addAll(int indice, Coleccion c), ingresa todos los elementos de la coleccion informada en la posicion inforrmada en indice, se modifican todos los elementos a partir de este punto, si se altera la lista devuelve un verdadero de lo contrario devuelve falso
  • Objeto get(int indice), devuelve el objeto almacenado en el indice indicado de la coleccion invocadora
  • int indexOf(Object o), devuelve el indice de la primera instancia del objeto informado de la lista invocadora, si el objeto informado no es parte de la lista retorna un .1
  • int lastIndexOf(Object o), devuelve el indice de la ultima instancia del objeto informado de la lista invocadora, si el objeto informado no es parte de la lista retorna un .1
  • ListIterator listIterator(), devuelve un iterator al inicio de la lista invocadora
  • ListIterator listIterator(int indice), devuelve un iterator a la lista invocadora pero comienza desde el indice informado
  • Objeto remove(int indice), remueve el elemento en el indice informado de la lista invocadora y devuelve el elemento borrado, ocasionando que la lista se compacte y los indices siguientes a este se reducen en uno
  • Objeto set(int indice, Objeto o), asigna al objeto informado en el indice informado de la lista invocadora
  • List subList(int inicio, int final), devuelve una lista que incluye elementos en el rango informado de la lista invocadora, los elementos devueltos tambien son referenciados por el objeto invocador

Si bien en algunos posts anteriores hemos hablado sobre este tema, pasemos a ver un ejemplo donde pondremos en practica algunos de los vistos aqui:

DemoLista.java:

import java.util.*;

public class DemoLista
{
        public static void main(String[] args)
        {
                List al = new ArrayList();
                al.add("Martin");
                al.add("Marta");
                al.add("Enzo");
                al.add("Javier");
                al.add("Gustavo");
                al.add("Leonardo");
                System.out.println(" Elementos del ArrayList: ");
                System.out.print("\t" + al);

                System.out.println();
                System.out.println(" Obteniendo un elemento: ");
                System.out.print("\t" + al.get(4));

                al.remove(4);

                System.out.println();
                System.out.println(" Obteniendo nuevamente el elemento: ");
                System.out.print("\t" + al.get(4));

                System.out.println();
                System.out.println(" Listado final del ArrayList: ");
                System.out.println("\t" + al + "\n");
        }
}

Para este ejemplo creamos un ArrayList al cual le agregaremos seis elementos, en este caso seis nombres por medio de add(), luego los mostraremos en pantalla, para luego obtener uno especifico y mostrarlo en pantalla, nuestra siguiente linea removera la entrada especificada, para volver a buscar el elemento como hicimos anteriormente y para lo ultimo mostrar la lista despues de removido el objeto, compilemos y probemos el programa donde obtendremos la siguiente salida:

tinchicus@dbn001vrt:~/programacion/java/codigo$ java DemoLista
Elementos del ArrayList:
[Martin, Marta, Enzo, Javier, Gustavo, Leonardo]
Obteniendo un elemento:
Gustavo
Obteniendo nuevamente el elemento:
Leonardo
Listado final del ArrayList:
[Martin, Marta, Enzo, Javier, Leonardo]
tinchicus@dbn001vrt:~/programacion/java/codigo$

Como pueden ver primero mostro la lista con todos nuestros elementos, luego nos trajo el elemento que le pedimos, removimos un elemento y cuando repetimos la busqueda nos trajo otro elemento esto es debido a como hablamos antes cuando removemos un elemento los siguientes indices se modifican para reflejar esta modificacion, por ultimo vemos la lista final.

En resumen, hoy hemos visto un poco mas de la interfaz List, para que sirve, los metodos disponibles, un ejemplo donde pusimos en practica algunos de ellos, espero les haya sido util sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios