Java.util.Collections.rotate() Method in Java with Examples

java.util.Collections.rotate() method is present in java.util.Collections class. It is used to rotate the elements present in the specified list of Collection by a given distance.

public static void rotate(List< type > list, int distance)
Parameters : 
list - the list to be rotated.
distance - the distance to rotate the list. 
type - Type of list to be rotated. Examples of 
       types are Integer, String, etc.
Returns :
UnsupportedOperationException - if the specified list or 
its list-iterator does not support the set operation.

There are no constraints on distance value. It may be zero, negative, or greater than list.size(). After calling this method, the element at index i will be the element previously at index (i – distance) mod list.size(), for all values of i between 0 and list.size()-1, inclusive.

// Java program to demonstrate working of 
// java.utils.Collections.rotate()

import java.util.*;
public class RotateDemo
    public static void main(String[] args)
        // Let us create a list of strings
        List<String>  mylist = new ArrayList<String>();
        System.out.println("Original List : " + mylist);
        // Here we are using rotate() method
        // to rotate the element by distance 2
        Collections.rotate(mylist, 2);
        System.out.println("Rotated List: " + mylist);


Original List : [practice, code, quiz, geeksforgeeks]
Rotated List: [quiz, geeksforgeeks, practice, code]

How to quickly rotate an array in Java using rotate()?

Arrays class in Java doesn’t have rotate method. We can use Collections.rotate() to quickly rotate an array also.

// Java program to demonstrate rotation of array
// with Collections.rotate()
import java.util.*;
public class RotateDemo
    public static void main(String[] args)
        // Let us create an array of integers
        Integer arr[] = {10, 20, 30, 40, 50};
        System.out.println("Original Array : " +
        // Please refer below post for details of asList()
        // rotating an array by distance 2
        Collections.rotate(Arrays.asList(arr), 2);
        System.out.println("Modified Array : " +


Original Array : [10, 20, 30, 40, 50]
Modified Array : [40, 50, 10, 20, 30]

This article is contributed by Gaurav Miglani. If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Please write to us at to report any issue with the above content.

Recommended Posts:

2.5 Average Difficulty : 2.5/5.0
Based on 4 vote(s)