Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
05 Окт 2024
2 мин
102

Простой способ преобразования Iterable в Collection в Java

В работе с Java часто возникают ситуации, когда необходимо преобразовать Iterable в Collection. Например, сторонние библиотеки могут возвращать результаты в

В работе с Java часто возникают ситуации, когда необходимо преобразовать Iterable в Collection. Например, сторонние библиотеки могут возвращать результаты в виде Iterable, а для дальнейшего использования этих данных требуется формат Collection.

Пример кода, где используется Iterable:

Iterable<String> iterable = new ArrayList<String>();

А дальше в коде ожидается применение Collection:

Collection<String> collection;

Для решения этой проблемы не обязательно писать много циклов foreach. Существует несколько простых способов преобразования Iterable в Collection.

Использование Java 8 Stream API

С помощью Stream API можно преобразовать Iterable в Collection всего за пару строк кода.

Iterable<String> iterable = new ArrayList<String>();
Collection<String> collection = StreamSupport.stream(iterable.spliterator(), false)
    .collect(Collectors.toList());

В этом коде StreamSupport.stream(iterable.spliterator(), false) создает поток из Iterable. Метод collect(Collectors.toList()) преобразует поток обратно в список, который является подтипом Collection.

Использование Guava

Если в проекте используется библиотека Guava от Google, можно использовать ее методы для преобразования Iterable в Collection.

Iterable<String> iterable = new ArrayList<String>();
Collection<String> collection = Lists.newArrayList(iterable);

В этом коде метод Lists.newArrayList(iterable) преобразует Iterable в ArrayList.

Надеемся, что эти примеры помогут быстро и без лишнего кода преобразовать Iterable в Collection.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий