Java.util.Collections.rotate() Method in Java with Examples
Last Updated :
07 Dec, 2018
Improve
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.
Java
Output:
Java
Output:
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);
}
}
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()
// https://www.geeksforgeeks.org/array-class-in-java/
// rotating an array by distance 2
Collections.rotate(Arrays.asList(arr), 2);
System.out.println("Modified Array : " +
Arrays.toString(arr));
}
}
Original Array : [10, 20, 30, 40, 50] Modified Array : [40, 50, 10, 20, 30]