Collection in Java represents a group of objects. It is simply an object that contains other objects.
Collections in Java – Collection Framework
The Collection framework in Java provides efficient implementations of essential data structures. It provides an architecture to store and manipulate objects inside the collection/group.
The Collection framework contains interfaces and classes that we can use to write programs for manipulating objects within a group.
Most used Collection interfaces:
Most used Collection classes are implementations of List, Set, and Map interfaces:
- ArrayList, LinkedList
- HashSet, LinkedHashSet, TreeSet
- HashMap, LinkedHashMap, TreeMap
Hierarchy of Collection Framework
Note: Map is not included since Map does not extend the Collection interface.
The Iterable interface gives us the ability to iterate through the elements of a collection. This means a class that implements the Java Iterable interface can have its elements iterated. It contains only one abstract method.
The iterator() method returns the Iterator of type T.
An Iterator is an object that can be used to loop through collections.
The Iterator Interface has three methods:
|1||public boolean hasNext()||It returns true if the iterator has more elements otherwise it returns false.|
|2||public Object next()||It returns the element and moves the cursor pointer to the next element.|
|3||public void remove()||It removes the last elements returned by the iterator. It is less used.|
All collections except Maps inherit the Collection interface. The Collection interface provides many useful methods for working with collections in Java.
Methods of the Collection Interface
|public boolean add(E e)||It is used to insert an element in this collection.|
|public boolean addAll(Collection<? extends E> c)||It is used to insert the specified collection elements in the invoking collection.|
|public boolean remove(Object element)||It is used to delete an element from the collection.|
|public boolean removeAll(Collection<?> c)||It is used to delete all the elements of the specified collection from the invoking collection.|
|default boolean removeIf(Predicate<? super E> filter)||It is used to delete all the elements of the collection that satisfy the specified predicate.|
|public boolean retainAll(Collection<?> c)||It is used to delete all the elements of invoking collection except the specified collection.|
|public int size()||It returns the total number of elements in the collection.|
|public void clear()||It removes the total number of elements from the collection.|
|public boolean contains(Object element)||It is used to search an element.|
|public boolean containsAll(Collection<?> c)||It is used to search the specified collection in the collection.|
|public Iterator iterator()||It returns an iterator.|
|public Object toArray()||It converts collection into array.|
|public <T> T toArray(T a)||It converts collection into array. Here, the runtime type of the returned array is that of the specified array.|
|public boolean isEmpty()||It checks if collection is empty.|
|default Stream<E> parallelStream()||It returns a possibly parallel Stream with the collection as its source.|
|default Stream<E> stream()||It returns a sequential Stream with the collection as its source.|
|default Spliterator<E> spliterator()||It generates a Spliterator over the specified elements in the collection.|
|public boolean equals(Object element)||It matches two collections.|
|public int hashCode()||It returns the hash code number of the collection.|
This was an introduction to Collections in Java. Proceed to the next lesson to learn more about the Java ArrayList class.