Convert an Iterable to Collection in Java



In Java, we can store objects within other objects. A collection is an object that stores other objects. Some examples of collections are ArrayList, HashSet.

Iterable is an Interface that is used for iterating over a Collection of objects. It is part of the Java Collections Framework. The Iterable interface is implemented by all the collection classes in Java. The Iterable interface has a method named iterator() which returns an Iterator object.

In this article, we will learn how to convert an Iterable to a Collection in Java using multiple ways. Those are -

  • Using for-each loop
  • Using Stream API
  • Using Iterator

Let's understand each of them in detail.

Convert an Iterable to a Collection using a for-each loop

In this method, we will use a for-each loop to iterate over the Iterable and add each element to a new Collection.

import java.util.*;
import java.io.*;

public class IterableToCollection {
   public static void main(String[] args) {
      // Create an Iterable object
      Iterable<String> iterable = Arrays.asList("A", "B", "C", "D", "E");
      // Create a Collection object
      Collection<String> collection = new ArrayList<>();
    
      // Iterate over the Iterable and add each element to the Collection
      for(String element : iterable) {
         collection.add(element);
      }
      // Print the Collection
      System.out.println("Collection: " + collection);
   }
}

Output

The output of the above code will be:

Collection: [A, B, C, D, E]

Convert an Iterable to a Collection using Stream API

Here, we will use the Stream API to convert an Iterable to a Collection. The Stream API is a new abstraction introduced in Java 8. It allows us to process sequences of elements in a functional style.

import java.util.*;
import java.io.*;
import java.util.stream.*;

public class IterableToCollection {
   public static void main(String[] args) {
      // Create an Iterable object
      Iterable<String> iterable = Arrays.asList("A", "B", "C", "D", "E");
      // Convert the Iterable to a Collection using Stream API
      Collection<String> collection = StreamSupport.stream(iterable.spliterator(), false)
         .collect(Collectors.toList());
      // Print the Collection
      System.out.println("Collection: " + collection);
   }
}

Output

The output of the above code will be -

Collection: [A, B, C, D, E]

Convert an Iterable to a Collection using Iterator

We can also use an Iterator to iterate over the Iterable and add each element to a new Collection.

import java.util.*;
import java.io.*;

public class IterableToCollection {
   public static void main(String[] args) {
      // Create an Iterable object
      Iterable<String> iterable = Arrays.asList("A", "B", "C", "D", "E");
      // Create a Collection object
      Collection<String> collection = new ArrayList<>();
    
      // Create an Iterator object
      Iterator<String> iterator = iterable.iterator();
      // Iterate over the Iterable and add each element to the Collection
      while(iterator.hasNext()) {
         collection.add(iterator.next());
      }
      // Print the Collection
      System.out.println("Collection: " + collection);
   }
}

Output

The output of the above code will be -

Collection: [A, B, C, D, E]
Aishwarya Naglot
Aishwarya Naglot

Writing clean code… when the bugs aren’t looking.

Updated on: 2025-05-12T12:53:31+05:30

323 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements