Por isso que escrevi que você precisa ajustar a sintaxe caso necessário. 
Seu código não está igual ao meu. Se você quer armazenar uma lista de listas, precisa de um:
ArraList<ArrayList> adj = new ArrayList<ArrayList>();
Mas parece que você está fazendo:
ArraList<Integer> adj = new ArrayList<Integer>();
Pra quê esse Integer ai? Você quer uma lista de listas ou uma lista de inteiros?
Dica: faça uma pergunta mais completa. Para o domínio que você parece estar mexendo (grafos), o ideal seria você trabalhar com uma matriz/lista de adjacência ou usar classes como vértice e aresta para armazenar os relacionamentos. Uma aresta, por exemplo, pode ter 2 atributos para armazenar os vértices, e daí você não precisa de uma lista de listas, apenas uma lista de arestas. Use os recursos da linguagem a seu favor.
Abraço.