Collection<Collection<Integer>> ints = new ArrayList<>();
Collections.addAll(ints,
Arrays.asList(149),
Arrays.asList(141, 143),
Arrays.asList(11),
Arrays.asList(11, 22));
// Java 8
List<Integer> flattenedUniqueInts = ints.stream()
.flatMap(x -> x.stream()).sorted().distinct()
.collect(Collectors.toList());
// Java 7, optimally using Set.
Set<Integer> result = new HashSet<>();
for (Collection<Integer> sub : ints) {
Collections.addAll(sub);
}
Два решения, один для Java 8, один для Java 7. В Java 8 можно было довольствоваться IntStream
результате, используя flatMapToInt
без collect
; используя int
вместо Integer. И, может быть, эксперимент с параллелью.
Вас интересует заказ? –
Это коллекция коллекций? сбор массивов? –
Вы должны использовать [заданные операции] (http://stackoverflow.com/questions/163998/classical-set-operations-for-java-util-collection), что в основном то, что вам нужно. – sxleixer