Groovy Operators

Control Statements

Groovy File Handling

Groovy Error & Exceptions

Groovy Multithreading

Groovy Synchronization

Groovy - List eachWIthIndex(Closure closure) method



Description

Groovy List eachWIthIndex(Closure closure) method is used to iterate a items of the list while passing each item to the closure along with an index starting from 0.

Syntax

public List eachWIthIndex(Closure closure)

Parameters

closure − a closure applied on each element.

Return Value

Current List

Example - Iterating a List of Integers

Following is an example of the usage of this method −

main.groovy

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

lst.eachWithIndex{ it, i -> println "Item #$i: $it" }

Output

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

Item #0: 11
Item #1: 12
Item #2: 13
Item #3: 14
Item #4: 15

Example - Iterating a List of Strings

Following is an example of the usage of this method −

main.groovy

def lst = ["Apple","Mango","Orange","Papaya"]

lst.eachWithIndex{ it, i -> println "Fruit #$i: $it" }

Output

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

Fruit #0: Apple
Fruit #1: Mango
Fruit #2: Orange
Fruit #3: Papaya

Example - Iterating objects 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")];

lst.eachWithIndex{ it, i -> println "Student #$i: $it" }

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 −

Student #0: [ 1, Julie ]
Student #1: [ 2, Robert ]
Student #2: [ 3, Adam ]
groovy_lists.htm
Advertisements