Java Collections Class



Introduction

The Java Collections class consists exclusively of static methods that operate on or return collections.Following are the important points about Collections −

  • It contains polymorphic algorithms that operate on collections, "wrappers", which return a new collection backed by a specified collection.

  • The methods of this class all throw a NullPointerException if the collections or class objects provided to them are null.

Class declaration

Following is the declaration for java.util.Collections class −

public class Collections
   extends Object

Field

Following are the fields for java.util.Collections class −

  • static List EMPTY_LIST − This is the empty list (immutable).

  • static Map EMPTY_MAP − This is the empty map (immutable).

  • static Set EMPTY_SET − This is the empty set (immutable).

Class methods

Sr.No.Method & Description
1static <T> boolean addAll(Collection<? super T> c, T... elements)

This method adds all of the specified elements to the specified collection.

2static <T> Queue<T> asLifoQueue(Deque<T> deque)

This method returns a view of a Deque as a Last-in-first-out (Lifo) Queue.

3static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key)

This method searches the specified list for the specified object using the binary search algorithm.

4static <E> Collection<E> checkedCollection(Collection<E> c, Class<E> type)

This method returns a dynamically typesafe view of the specified collection.

5static <E> List<E> checkedList(List<E> list, Class<E> type)

This method returns a dynamically typesafe view of the specified list.

6static <K,V> Map<K,V> checkedMap(Map<K,V> m, Class<K> keyType, Class<V> valueType)

This method returns a dynamically typesafe view of the specified map.

7static <K,V> Navigable<K,V> checkedNavigableMap(Navigable<K,V> m, Class<K> keyType, Class<V> valueType)

This method returns a dynamically typesafe view of the specified navigable map.

8static <E> NavigableSet<E> checkedNavigableSet(NavigableSet<E> s, Class<E> type)

This method returns a dynamically typesafe view of the specified navigable set.

9static <E> Queue<E> checkedQueue(Queue<E> s, Class<E> type)

This method returns a dynamically typesafe view of the specified queue.

10static <E> Set<E> checkedSet(Set<E> s, Class<E> type)

This method returns a dynamically typesafe view of the specified set.

11static <K,V> SortedMap<K,V> checkedSortedMap(SortedMap<K,V> m, Class<K> keyType, Class<V> valueType)

This method returns a dynamically typesafe view of the specified sorted map.

12static <E> SortedSet<E>checkedSortedSet(SortedSet<E> s, Class<E> type)

This method returns a dynamically typesafe view of the specified sorted set.

13static <T> void copy(List<? super T> dest, List<? extends T> src)

This method copies all of the elements from one list into another.

14static boolean disjoint(Collection<?> c1, Collection<?> c2)

This method returns true if the two specified collections have no elements in common.

15static <T> Enumeration <T> emptyEnumeration()

This method returns the empty enumeration.

16static <T> Iterator <T> emptyIterator()

This method returns the empty iterator.

17static <T> List<T> emptyList()

This method returns the empty list (immutable).

18static <T> ListIterator <T> emptyListIterator()

This method returns the empty list iterator.

19static <K,V> Map<K,V> emptyMap()

This method returns the empty map (immutable).

20static <K,V> NavigableMap<K,V> emptyNavigableMap()

This method returns the empty navigable map (immutable).

21static <T> NavigableSet<T> emptyNavigableSet()

This method returns the empty navigable set (immutable).

22static <T> Set<T> emptySet()

This method returns the empty set (immutable).

23static <K,V> SortedMap<K,V> emptySortedMap()

This method returns the empty sorted map (immutable).

24static <T> SortedSet<T> emptySortedSet()

This method returns the empty sorted set (immutable).

25static <T> Enumeration<T> enumeration(Collection<T> c)

This method returns an enumeration over the specified collection.

26static <T> void fill(List<? super T> list, T obj)

This method replaces all of the elements of the specified list with the specified element.

27static int frequency(Collection<?> c, Object o)

This method returns the number of elements in the specified collection equal to the specified object.

28static int indexOfSubList(List<?> source, List<?> target)

This method returns the starting position of the first occurrence of the specified target list within the specified source list, or -1 if there is no such occurrence.

29static int lastIndexOfSubList(List<?> source, List<?> target)

This method returns the starting position of the last occurrence of the specified target list within the specified source list, or -1 if there is no such occurrence.

30static <T> ArrayList<T> list(Enumeration<T> e)

This method returns an array list containing the elements returned by the specified enumeration in the order they are returned by the enumeration.

31static <T extends Object & Comparable<? super T> >T max(Collection<? extends T> coll)

This method returns the maximum element of the given collection, according to the natural ordering of its elements.

32static <T extends Object & Comparable<? super T>>T min(Collection<? extends T> coll)

This method Returns the minimum element of the given collection, according to the natural ordering of its elements.

33static <T> List<T> nCopies(int n, T o)

This method returns an immutable list consisting of n copies of the specified object.

34static <E> Set<E> newSetFromMap(Map<E,Boolean> map)

This method returns a set backed by the specified map.

35static <T> boolean replaceAll(List<T> list, T oldVal, T newVal)

This method replaces all occurrences of one specified value in a list with another.

36static void reverse(List<?> list)

This method reverses the order of the elements in the specified list.

37static <T> Comparator<T> reverseOrder()

This method returns a comparator that imposes the reverse of the natural ordering on a collection of objects that implement the Comparable interface.

38static void rotate(List<?> list, int distance)

This method rotates the elements in the specified list by the specified distance.

39static void shuffle(List<?> list)

This method randomly permutes the specified list using a default source of randomness.

40static <T> Set<T> singleton(T o)

This method returns an immutable set containing only the specified object.

41static <T> List<T> singletonList(T o)

This method returns an immutable list containing only the specified object.

42static <K,V> Map<K,V> singletonMap(K key, V value)

This method returns an immutable map, mapping only the specified key to the specified value.

43static <T extends Comparable<? super T>> void sort(List<T> list)

This method sorts the specified list into ascending order, according to the natural ordering of its elements.

44static void swap(List<?> list, int i, int j)

This method swaps the elements at the specified positions in the specified list.

45static <T> Collection<T> synchronizedCollection(Collection<T> c)

This method returns a synchronized (thread-safe) collection backed by the specified collection.

46static <T> List<T> synchronizedList(List<T> list)

This method returns a synchronized (thread-safe) list backed by the specified list.

47static <K,V> Map<K,V> synchronizedMap(Map<K,V> m)

This method returns a synchronized (thread-safe) map backed by the specified map.

48static <K,V> NavigableMap<K,V> synchronizedNavigableMap()

This method returns the synchronized navigable map (immutable).

49static <T> NavigableSet<T> synchronizedNavigableSet()

This method returns the synchronized navigable set (immutable).

50static <T> Set<T> synchronizedSet(Set<T> s)

This method returns a synchronized (thread-safe) set backed by the specified set.

51static <K,V> SortedMap<K,V> synchronizedSortedMap(SortedMap<K,V> m)

This method returns a synchronized (thread-safe) sorted map backed by the specified sorted map.

52static <T> SortedSet<T> synchronizedSortedSet(SortedSet<T> s)

This method returns a synchronized (thread-safe) sorted set backed by the specified sorted set.

53static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c)

This method returns an unmodifiable view of the specified collection.

54static <T> List<T> unmodifiableList(List<? extends T> list)

This method returns an unmodifiable view of the specified list.

55static <K,V> Map<K,V> unmodifiableMap(Map<? extends K,? extends V> m)

This method returns an unmodifiable view of the specified map.

56static <K,V> NavigableMap<K,V> unmodifiableNavigableMap()

This method returns the unmodifiable navigable map (immutable).

57static <T> NavigableSet<T> unmodifiableNavigableSet()

This method returns the unmodifiable navigable set (immutable).

58static <T> Set<T> unmodifiableSet(Set<? extends T> s)

This method returns an unmodifiable view of the specified set.

59static <K,V> SortedMap<K,V> unmodifiableSortedMap(SortedMap<K,? extends V> m)

This method returns an unmodifiable view of the specified sorted map.

60static <T> SortedSet<T> unmodifiableSortedSet(SortedSet<T> s)

This method returns an unmodifiable view of the specified sorted set.

Methods inherited

This class inherits methods from the following classes −

  • java.util.Object

Adding Multiple Elements to the Collection of Integers Example

The following example shows the usage of Java Collection addAll(Collection,T... ) method to add a collection of Integers. We've created a List object with some integers, printed the original list. Using addAll(collection, T...) method, we've added few more elements to the list and then printed the updated list.

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5));

      System.out.println("Initial collection value: " + list);
      // add values to this collection
      Collections.addAll(list, 6, 7, 8);
      System.out.println("Final collection value: "+list);
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Initial collection value: [1, 2, 3, 4, 5]
Final collection value: [1, 2, 3, 4, 5, 6, 7, 8]