public static void main(String[] args) {
// Definir un ArrayList
// Pongo ArrayList porque es el tipo general (arraylist)
// Pongo <..> para especificar el tipo del
// contenido del ArrayList (<String> <LocalDate>...)
// Muy importante, si quiero de valores primitivos
// no pongo el valor primitivo sino la clase que lo envuelve
// int->Integer double->Double...
// Lo tengo que crear con la palabra clave 'new'
ArrayList<String> lista = new ArrayList<String>();
ArrayList<String> lista2 = new ArrayList<String>();
ArrayList<Integer> numeros=new ArrayList<Integer>();
// Una vez hemos construído el ArrayList ya podemos
// trabajar con él
lista.add("Ana");
lista.add("eva");
lista.add("pep");
System.out.println(lista.size());
lista2.add("Ana");
lista2.add("eva");
lista2.add("pep");
System.out.println(lista.size());
// Recorrer el arraylist
for(int i=0;i<lista.size();i++) {
System.out.println(lista.get(i));
}
for(String nombre:lista) {
System.out.println(nombre);
}
// Añadiendo elementos sueltos a través de la utilidad
// de Arrays 'asList' que convierte elementos
// en una lista
lista.addAll(Arrays.asList("Juan","rosa"));
// Añado una lista ya existente
lista.addAll(lista2);
// Elimina el elemento que esté en la posición 1
lista.remove(1);
// Elimina el elemento
lista.remove("Ana");
System.out.println(lista);
lista.remove("ruth");
// eliminar todos los elementos de una colección
lista.removeAll(Arrays.asList("Ana"));
// Arrays.asList nos convierte una serie de elementoss
// En una lista y lo puedo utilizar para inicializar
ArrayList<String> alumnos = new ArrayList<String>(Arrays.asList("Ana","Eva"));
System.out.println(alumnos);
// Añadir en una posición determinada
alumnos.add(1,"Rigoberta");
System.out.println(alumnos);
// Modifico el elemento que está en la posición 0
alumnos.set(0, "Ana Pi");
System.out.println(alumnos);
// Elimina el primero
alumnos.removeFirst();
System.out.println(alumnos);
// Métodos para buscar elementos
System.out.println(alumnos.contains("Eva"));
System.out.println(alumnos.contains("Evar"));
// El indexOf funciona parecido al String
System.out.println(alumnos.indexOf("Eva"));
System.out.println(alumnos.indexOf("Evar"));
int pos=lista.indexOf("pep");
int lastPos=lista.lastIndexOf("pep");
System.out.println(pos+"-"+lastPos);
lista.add("Zacarías");
// Ordenamos alfabeticamente pero ojo mayúsculas primero
lista.sort(null);
System.out.println(lista);
}