Groovy Operators

Control Statements

Groovy File Handling

Groovy Error & Exceptions

Groovy Multithreading

Groovy Synchronization

Groovy - List swap(int i, int j) method



Description

Groovy List swap(int i, int j) method swaps the elements of the List at given positions and returns the updated list. Original list is updated as well.

Syntax

public List swap(int i, int j)

Parameters

  • i − position of first element

  • j − position of second element

Return Value

List with swapped values.

Example - Swapping items from a List of Integers

Following is an example of the usage of this method −

main.groovy

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

println(lst)
def swappedList = lst.swap(2,3)
println(swappedList)

Output

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

[11, 12, 13, 14]
[11, 12, 14, 13]

Example - Swapping items from a List of Strings

Following is an example of the usage of this method −

main.groovy

def lst = ["Apple", "Peach", "Orange","Grapes"]

println(lst)
def swappedList = lst.swap(2,3)
println(swappedList)

Output

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

[Apple, Peach, Orange, Grapes]
[Apple, Peach, Grapes, Orange]

Example - Get swap from 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")]

println(lst)
def swappedList = lst.swap(1,2)
println(swappedList)    

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 −

[[ 1, Julie ], [ 2, Robert ], [ 3, Adam ]]
[[ 1, Julie ], [ 3, Adam ], [ 2, Robert ]]
groovy_lists.htm
Advertisements