Groovy Operators

Control Statements

Groovy File Handling

Groovy Error & Exceptions

Groovy Multithreading

Groovy Synchronization

Groovy - List flatten() method



Description

Groovy List flatten() method flattens the list. Any nested array or collection contents are flattened recursively and a new list is returned.

Syntax

public List flatten()

Parameters

NA

Return Value

A flattened List.

Example - Flattening a List of Integers

Following is an example of the usage of this method −

main.groovy

def lst = [1,[2,3],[[4]],[],5]
def flattenList = lst.flatten()

println(flattenList)

Output

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

[1, 2, 3, 4, 5]

Example - Flattening a List of Strings

Following is an example of the usage of this method −

main.groovy

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

def flattenList = lst.flatten()

println(flattenList)

Output

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

[Apple, Mango, Orange, Papaya, Peach]

Example - Flattening 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 flattenList = lst.flatten()

println(flattenList)

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 ]]
groovy_lists.htm
Advertisements