import java.util.Set;
import java.util.Arrays;
import java.util.Comparator;
import java.util.stream.Collectors;
public class Flatten2DArrayIntoASorted1DArrayWithUniqueValues_Java {
public static void main(String[] args) {
int[][] array2d = {
{4, 3, 3, 2},
{30, 10},
{10},
{1, 1, 6, 7, 7, 7, 8},
};
Set<Integer> set = Arrays.stream(array2d)
.flatMapToInt(Arrays::stream)
.distinct()
.boxed()
.sorted(Comparator.naturalOrder())
.collect(Collectors.toSet());
System.out.println(set.stream().map(String::valueOf).collect(Collectors.joining(", ")));
for (Integer n : set) {
System.out.print(n + " ");
}
}
}
/*
run:
1, 2, 3, 4, 6, 7, 8, 10, 30
1 2 3 4 6 7 8 10 30
*/