HashimR:
Eu tenho uma lista aninhada de Long
. por exemplo:
List<List<Long>> ids = [[1,2,3],[1,2,3,4],[2,3]];
Existe uma maneira usando correntes para criar uma nova lista de itens que estão presentes em todas as listas:
List<Long> result = [2,3];
Ruslan:
Há solução concisa bastante sem stream:
List<Long> result = new ArrayList<>(ids.get(0));
ids.forEach(result::retainAll);
System.out.println(result);
Atualizar : como foi mencionado nos comentários por @ernest_k para evitar o supérfluo retainAll()
chamada você pode obter sublista antes:
ids.subList(1, ids.size()).forEach(result::retainAll);