Java 8: как объединить несколько коллекций

Чтобы объединить несколько коллекций в Java 8, вы можете использовать несколько методов. Вот несколько возможных подходов:

  1. Использование Stream API и FlatMap:

    Collection<T> mergedCollection = Stream.of(collection1, collection2, collection3)
       .flatMap(Collection::stream)
       .collect(Collectors.toList());
  2. Использование Stream API и сокращение:

    Collection<T> mergedCollection = Stream.of(collection1, collection2, collection3)
       .reduce(new ArrayList<>(), (result, collection) -> {
           result.addAll(collection);
           return result;
       });
  3. Использование Stream API и concat:

    Collection<T> mergedCollection = Stream.concat(collection1.stream(), 
       Stream.concat(collection2.stream(), collection3.stream()))
       .collect(Collectors.toList());
  4. Использование метода addAll класса ArrayList:

    List<T> mergedList = new ArrayList<>(collection1);
    mergedList.addAll(collection2);
    mergedList.addAll(collection3);
  5. Использование метода addAll класса LinkedList:

    List<T> mergedList = new LinkedList<>(collection1);
    mergedList.addAll(collection2);
    mergedList.addAll(collection3);

Эти методы позволяют объединить несколько коллекций в одну, создав новую коллекцию или изменив существующую. Выберите метод, который лучше всего соответствует вашим требованиям.