Groovy Operators

Control Statements

Groovy File Handling

Groovy Error & Exceptions

Groovy Multithreading

Groovy Synchronization

Groovy - List reverse(boolean mutate) method



Description

Groovy List reverse(boolean mutate) method create a new List that is the reverse the elements of the original List in case of mutate is false. If mutate is true, original list is modified as well.

Syntax

public List reverse(boolean mutate)

Parameters

mutate − if true, then current list itself is modified.

Return Value

The reversed list.

Example - Reversing a List of Integers

Following is an example of the usage of this method −

main.groovy

def lst = [11, 12, 13, 14]; 

def revlst = lst.reverse(false); 
println("Reversed List: " + revlst);

println("Original List: " + lst);

revlst = lst.reverse(true); 
println("Reversed List: " + revlst);

println("Original List: " + lst);

Output

When we run the above program, we will get the following result −

Reversed List: [14, 13, 12, 11]
Original List: [11, 12, 13, 14]
Reversed List: [14, 13, 12, 11]
Original List: [14, 13, 12, 11]

Example - Reversing a List of Strings

Following is an example of the usage of this method −

main.groovy

def lst = ["Apple", "Peach", "Orange", "Mango"]; 

def revlst = lst.reverse(false); 
println("Reversed List: " + revlst);

println("Original List: " + lst);

revlst = lst.reverse(true); 
println("Reversed List: " + revlst);

println("Original List: " + lst);

Output

When we run the above program, we will get the following result −

Reversed List: [Mango, Orange, Peach, Apple]
Original List: [Apple, Peach, Orange, Mango]
Reversed List: [Mango, Orange, Peach, Apple]
Original List: [Mango, Orange, Peach, Apple]

Example - Reversing a List of Objects

Following is an example of the usage of this method −

main.groovy

def lst = [new Student(1, "Julie"),new Student(2, "Robert"),new Student(3, "Adam")];

def revlst = lst.reverse(false); 
println("Reversed List: " + revlst);

println("Original List: " + lst);

revlst = lst.reverse(true); 
println("Reversed List: " + revlst);

println("Original List: " + lst);

class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
   
   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
}

Output

When we run the above program, we will get the following result −

Reversed List: [[ 3, Adam ], [ 2, Robert ], [ 1, Julie ]]
Original List: [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ]]
Reversed List: [[ 3, Adam ], [ 2, Robert ], [ 1, Julie ]]
Original List: [[ 3, Adam ], [ 2, Robert ], [ 1, Julie ]]
groovy_lists.htm
Advertisements