Groovy Operators

Control Statements

Groovy File Handling

Groovy Error & Exceptions

Groovy Multithreading

Groovy Synchronization

Groovy - List findAll(Closure condition) method



Description

Groovy List findAll(Closure condition) method checks and returns the elements which matches the given closure.

Syntax

public List findAll(Closure condition)

Parameters

condition − a closure condition.

Return Value

A list of matching values

Example - Getting matched values from a List of Integers

Following is an example of the usage of this method −

main.groovy

def lst = [11, 12, 13, 14, 15, 16, 17, 18, 19]

println(lst)
println(lst.findAll{it % 2  == 0})

Output

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

[11, 12, 13, 14, 15, 16, 17, 18, 19]
[12, 14, 16, 18]

Example - Getting matched values from a List of Strings

Following is an example of the usage of this method −

main.groovy

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

println(lst)
println(lst.findAll{it.size() == 5})

Output

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

[Apple, Mango, Orange, Papaya, Peach]
[Apple, Mango, Peach]

Example - Getting matched values 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)
println(lst.findAll{it.getRollNo() % 2 == 0})

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 ]]
[[ 2, Robert ]]
groovy_lists.htm
Advertisements