In this article, we will understand how to rotate elements of a list. The List extends Collection and declares the behavior of a collection that stores a sequence of elements. The Collection is a framework that provides architecture to store and manipulate the group of objects. Java Collections can achieve all the operations that you perform on a data such as searching, sorting, insertion, manipulation, and deletion.
Below is a demonstration of the same −
Suppose our input is −
Input list: [100, 150, 200, 250, 300]
The desired output would be −
The list after one rotation: [150, 200, 250, 300, 100]
Algorithm
Step 1 - START Step 2 - Declare a list namely input_list Step 3 - Define the values. Step 4 - Iterate through the list, and use the ‘get’ method to get the element at a specific index. Step 5 - Assign this variable to a new variable ‘temp’. Step 6 - Iterate through the list from the end, and fetch the element at a specific index. Use the ‘set’ method to set the value at ‘temp’. Step 7 - Display the result Step 8 - Stop
Example 1
Here, we bind all the operations together under the ‘main’ function.
import java.util.*;
public class Demo {
public static void main(String[] args){
List<Integer> input_list = new ArrayList<>();
input_list.add(100);
input_list.add(150);
input_list.add(200);
input_list.add(250);
input_list.add(300);
System.out.println("The list is defined as: " + Arrays.toString(input_list.toArray()));
for (int i = 0; i < 4; i++) {
int temp = input_list.get(4);
for (int j = 4; j > 0; j--) {
input_list.set(j, input_list.get(j - 1));
}
input_list.set(0, temp);
}
System.out.println( "The list after one rotation: " + Arrays.toString(input_list.toArray()));
}
}Output
The list is defined as: [100, 150, 200, 250, 300] The list after one rotation: [150, 200, 250, 300, 100]
Example 2
Here, we encapsulate the operations into functions exhibiting object oriented programming.
import java.util.*;
public class Demo {
static void rotate(List<Integer> input_list){
for (int i = 0; i < 4; i++) {
int temp = input_list.get(4);
for (int j = 4; j > 0; j--) {
input_list.set(j, input_list.get(j - 1));
}
input_list.set(0, temp);
}
System.out.println("\nThe list after one rotation: " + Arrays.toString(input_list.toArray()));
}
public static void main(String[] args){
List<Integer> input_list = new ArrayList<>();
input_list.add(100);
input_list.add(150);
input_list.add(200);
input_list.add(250);
input_list.add(300);
System.out.println("The list is defined as: " + Arrays.toString(input_list.toArray()));
rotate(input_list);
}
}Output
The list is defined as: [100, 150, 200, 250, 300] The list after one rotation: [150, 200, 250, 300, 100]