Groovy Operators

Control Statements

Groovy File Handling

Groovy Error & Exceptions

Groovy Multithreading

Groovy Synchronization

Groovy - List subsequences() method



Description

Groovy List subsequences() method returns the Set of all available unique and non-null subsequences of the items of the List.

Syntax

public Set subsequences()

Parameters

NA

Return Value

Set of available subsequences.

Example - Get subsequences from a List of Integers

Following is an example of the usage of this method −

main.groovy

def lst = [11, 12, 13]

def subsequencesSet = lst.subsequences()
println(lst)
println(subsequencesSet)

Output

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

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

Example - Get subsequences from a List of Strings

Following is an example of the usage of this method −

main.groovy

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

def subsequencesSet = lst.subsequences()
println(lst)
println(subsequencesSet)

Output

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

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

Example - Get subsequences 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")];

def subsequencesSet = lst.subsequences(); 
println(lst);
println(subsequencesSet);     

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