Para comenzar a entender explicare algunas líneas.
Para trabajar con listas se debe de importar las clases List y ArrayList que se encuentran en util por lo tanto pongo un asterisco para ahorrar una linea de código.
import java.util.*;
Dentro de la clase implemente un método llamado ImprimirLG que usare para imprimir una lista por medio de un ciclo for
static void ImprimirLG(List l)
{
for(int a=0;a<l.size();a++)
{
System.out.println(l.get(a));
}
System.out.println("_______________");
}
Se va a imprimir los elementos de la lista desde 0 hasta que sean menor a su tamaño <el método size() sirve para calcular el tamaño de una lista>.
for(int a=0;a<l.size();a++)
El metodo get() retorna el valor de un elemento de la lista segun su posción <posición a>
System.out.println(l.get(a));
Se crea una lista "genérica"
List lista1=new ArrayList();
Para agregar valores a una lista se utiliza el metodo add() asi como se muestra en la siguiente parte:
lista1.add("Hola");
lista1.add(2);
lista1.add(3);
lista1.add("Gato");
lista1.add(false);
Se imprime la lista anterior
ImprimirLG(lista1);
El resultado es el siguiente:
Hola
2
3
Gato
false
Para remover un elemento se utiliza el método remove() que se encuentra sobrecargado, es decir acepta 2 argumentos: el índice de un elemento de la lista o bien un elemento de la lista, para realizar la eliminación segun un índice se puede realizar lo siguiente, el ejemplo elimina el último elemento <se obtiene el tamaño del arreglo - 1>
lista1.remove(lista1.size()-1);
ImprimirLG(lista1);
El resultado es el siguiente:
Hola
2
3
Gato
Para eliminar el primer elemento de la lista se hace lo siguiente:
lista1.remove(0);
ImprimirLG(lista1);
El resultado es el siguiente:
2
3
Gato
Pero que sucede si lo que se necesita es eliminar por ejemplo el 2, si coloco lista1.remove(2); me eliminara el elemento en la posicion 2 "Gato" lo que se debe de hacer es una pequeña converción como se muestra a continuación:
lista1.remove((Object) 2);
ImprimirLG(lista1);
El resultado es el siguiente:
3
Gato
Agregamos nuevos valores para seguir jugando :D
lista1.add("Miguel");
lista1.add(3.1416);
lista1.add("Java");
ImprimirLG(lista1);
El resultado es el siguiente:
3
Gato
Miguel
3.1416
Java
Que pasa si necesito mostrar el valor de un elemento de la lista segun su índice, podemos usar el metodo get() que recibe como argumento un número entero.
System.out.println(lista1.get(3));
El resultado es el siguiente:
3.1416
Para checar la posición de un elemento de la lista se usa indexOf() busquemos la posicion de la palabra Java
System.out.println(lista1.indexOf("Java"));
El resultado es el siguiente:
4
Para checar si la lista contiene un x dato tambien existe el metodo contains() que devuelve un boolean true si contiene el dato que se pasa como argumento y false si no lo contiene para esta condición uso un if
if(lista1.contains("Java"))
System.out.println("Contiene la lista el elemento 'Java'");
else System.out.println("No contiene el Elemento Java");
El resultado es el siguiente:
Contiene la lista el elemento 'Java'
Que sucede si removemos el elemento Java y volvemos a intentar.
lista1.remove("Java");
if(lista1.contains("Java")) System.out.println("Contiene la lista el elemento 'Java'");
else System.out.println("No contiene el Elemento Java");
El resultado es el siguiente:
No contiene el Elemento Java
Ahora ya casi para terminar, para saber si una lista esta vacia se usará isEmpty() que devuelve nuevamente un true si no hay nada en la lista y true si existe algun dato en la lista:
if(lista1.isEmpty()) System.out.println("No contiene datos la lista");
else System.out.println("Tiene datos la lista");
El resultado es el siguiente:
Tiene datos la lista
El método clear() limpia todo el contenido de una lista, si evaluamos de nuevo checamos:
lista1.clear();
if(lista1.isEmpty()) System.out.println("No contiene datos la lista");
else System.out.println("Tiene datos la lista");
El resultado es el siguiente:
No contiene datos la lista
De new ya que la lista esta vacía, la llenamos con algunos valores
lista1.add("Misael");
lista1.add("Chair");
lista1.add("Pablo");
lista1.add("Cheis");
lista1.add("Pedro pedrito");
ImprimirLG(lista1);
El resultado es el siguiente:
Misael
Chair
Pablo
Cheis
Pedro pedrito
Ya... para terminar si se quiere modificar un valor de la lista por ejemplo cambiar a Pedro pedrito por Balta se usara set() pero ahora contendra 2 valores: la posición del dato a cambiar y el dato por el que se cambiara <se cuidadoso de cambiar un valor existente de lo contrario se puede generar una Exception>.
Existe algo que se llaman Iterator que nos ayudara a recorrer todos los valores de una lista de un solo "jalon" checar como se declara y que por medio de while mientras exista un valor siguiente <hasNext()> se mostrara el siguiente valor <it.next()>:
lista1.set(4,"Balta");
Iterator it=lista1.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
El resultado es el siguiente:
Misael
Chair
Pablo
Cheis
Pedro pedrito
Balta
Bueno espero les sea de utilidad el ejemplo anterior :D Suerte!
9 comentarios:
Write comentariosBastante bueno el post, gracias!
ResponderEliminarMuchas gracias, que bueno que te sirvio, saludos.
Eliminarmuchas gracias por el aporte me ayudo mucho.
ResponderEliminarQue bueno que te ayudó :D saludos,
EliminarGracias Por La Ayuda!! Muy Útil *__*
ResponderEliminarGenial...
ResponderEliminar
ResponderEliminarLas listas en Java son variables que permiten almacenar
grandes cantidades de datos. Son similares a los Array o a
las Matrices. Sin embargo las nuevas tendencias en la
programación van orientadas hacia el uso de Listas para el
manejo de grandes volúmenes de datos.
una lista se decara de la sieguiente manera:
List ejemploLista = new ArrayList();
Este tipo de lista puede almacenar cualquier tipo de dato,
pero este enfoque ya ha quedado obsoleto. Se prefiere que se
designe el tipo de dato que se va a almacenar. Entonces para
declarar una lista donde guardaremos datos tipo String, hacemos
lo siguiente:
List ejemploLista = new ArrayList>string>();
para poder consultar dicha lista se utiliza:
ejemploLista.get(0);
en donde cero es el indice o el primer dato donde se encuentra nuestro registro de la
lista.
si queremos eliminar determinado elemento:
ejemploLista.remove(0);
Muy buena información y claramente explicada.
ResponderEliminarABRAHAM MENDOZA BARRERA, eres un pendejo.
gracias por el aporte
ResponderEliminar