ArrayList reverso
A interface 
Collections  também fornece métodos para operações em massa que funcionam em toda a coleção:
containsAll - retorna o valor booleano 
true se esta coleção contém todos os elementos da coleção chamada, caso contrário, retorna 
false.
addAll - adiciona todos os elementos especificados à coleção especificada. Os elementos a serem adicionados podem ser especificados individualmente ou como um array.
removeAll -  é usado para remover todos os elementos da lista que estão contidos na coleção especificada.
limpar - remove todos os elementos
reverse - array reverse
etc
Exemplo
Usando 
removeAll.
ArrayList<Integer> primeiro = new ArrayList<Integer>();
primeiro.add(1);
primeiro.add(2);
primeiro.add(3);
ArrayList<Integer> segundo = new ArrayList<Integer>();
segundo.add(1);
segundo.add(2);
// remove todos os elementos da segunda lista,
// se existirem na primeira lista
segundo.removeAll(primeiro);