Java Stream Inner Inner присоединяйтесь к двум спискам
List<Integer> s1 = Arrays.asList(1, 2);
List<Integer> s2 = Arrays.asList(1, 3);
s1.stream()
.flatMap(v1 -> s2.stream()
.filter(v2 -> Objects.equals(v1, v2))
.map(v2 -> tuple(v1, v2)))
.forEach(System.out::println);
Distinct Dog