Ejemplos ArrayList

public static void main(String[] args) {
		List<String> alumnos=new ArrayList<String>();

		alumnos.add("Eva");
		alumnos.add("");
		alumnos.add("María");
		alumnos.add("Rosa");
		
		Collections.addAll(alumnos, "juan","","Pep");
		
		System.out.println(alumnos);
		
		List<String> alumnosTrim=arrayTrim(alumnos);
		
		System.out.println(alumnosTrim);
		Collections.shuffle(alumnosTrim);
		System.out.println(alumnosTrim);
		Collections.sort(alumnosTrim);
		System.out.println(alumnosTrim);
	}

	// Tanto lo que devuelvo como el parámetro es de tipo List
	public static List<String> arrayTrim(List<String> lista){
		List<String> res=new ArrayList<String>();
		for(String el:lista) {
			if (el!="") {
				res.add(el);
			}
		}
		return res;
	}

Otro ejemplo:

	public static void main(String[] args) {
		// ArrayList de Alumnos, es decir de una clase propia
		List<Alumno> alumnos=new ArrayList<Alumno>();

		// Añadir creandolos al vuelo
		alumnos.add(new Alumno("Eva",6));
		alumnos.add(new Alumno("Rosa",7));
		alumnos.add(new Alumno("Pep",3));
		alumnos.add(new Alumno("Ana",4));
		
		// Añadir creando una variable y añadiendo esa variable
		Alumno foo=new Alumno("Rosa",8);
		alumnos.add(foo);
		
		// Si he sobreescrito el toString lo puedo ver todo con un
		// simple print
		System.out.println(alumnos);
		List<Alumno> aprobados=aprobados(alumnos);
		System.out.println(aprobados);
	}

	public static List<Alumno> aprobados(List<Alumno> alumnos){
		List<Alumno> res=new ArrayList<Alumno>();
		for(Alumno al:alumnos) {
			if (al.getNota()>=5) {
				res.add(al);
			}
		}
		return res;
	}