Open In App

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

Improve
Improve
Like Article
Like
Save
Share
Report

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.

Syntax:
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 :
NA
Throws:
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>();
        mylist.add("practice");
        mylist.add("code");
        mylist.add("quiz");
        mylist.add("geeksforgeeks");
   
        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);
    }
}


Output:

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 : " +
                                Arrays.toString(arr));
           
        // 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 : " +
                                Arrays.toString(arr));
    }
}


Output:

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


Last Updated : 07 Dec, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads