Log in from a computer to take this course

You'll need to log in from a computer to start Learn Intermediate Java. But you can practice or keep up your coding streak with the Codecademy Go app. Download the app to get started.

apple storegoogle store

We’ve discussed the core interfaces and their implementations but the thing that keeps the collection framework polymorphic (compatible) is the Collection interface. The Collection interface provides a generic, general-purpose API when our program needs a collection of elements and doesn’t care about what type of collection it is.

Implementing classes may implement collections methods and add restrictions to them, like a Set does to only contain unique elements. Also, implementing classes or extending interfaces do not need to implement all methods and instead will throw an UnsupportOperationException when a Collection method is not implemented.

We’ve seen add() and remove() be used but some other methods Collection defines are:

  • addAll() - receives a Collection argument and adds all the elements.
  • isEmpty() - return true if the collection is empty, false otherwise.
  • iterator() - returns an Iterator over the collection.
  • size() - returns the number of elements in the collection.
  • stream() - returns a Stream over the elements in the collection.
  • toArray() - returns an array with all elements in the collection.

Let’s see how we can use some these methods and iterate

Collection<Integer> collection = new ArrayList<>(); collection.add(4); collection.add(8); Boolean isEmpty = collection.isEmpty(); // false Int collectionSize = collection.size() // 2 Integer[] collectionArray = collection.toArray(new Integer[0]);

In the example above we:

  • Created an Integer Collection with an ArrayList implementation.
  • Called add() to add elements to the end of the Collection.
  • Called isEmpty() to check if collection has elements.
  • Called size() to get the number of elements in collection.
  • Called toArray() to transform our collection to an array. Note the new Integer[0] argument that specifies the type of array we want returned.

We can iterate through a Collection with an enhanced for-loop as we’ve seen with the other core interfaces.

Let’s practice working with Collection.



Let’s take advantage of the collections framework compatibility by completing a method to iterate and print out all the elements of collections and their various implementations.

In Main.java we’ve defined printCollection with a generic Collection parameter. Complete the method by iterating through Collection using an enhanced for-loop and an element named item. In he body of the for-loop call System.out.println() to output item.

Take this course for free

Mini Info Outline Icon
By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.

Or sign up using:

Already have an account?