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.
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.
import java.util.*;
public class RotateDemo
{
public static void main(String[] args)
{
List<String> mylist = new ArrayList<String>();
mylist.add( "practice" );
mylist.add( "code" );
mylist.add( "quiz" );
mylist.add( "geeksforgeeks" );
System.out.println( "Original List : " + mylist);
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.
import java.util.*;
public class RotateDemo
{
public static void main(String[] args)
{
Integer arr[] = { 10 , 20 , 30 , 40 , 50 };
System.out.println( "Original Array : " +
Arrays.toString(arr));
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
Share your thoughts in the comments
Please Login to comment...