Groovy Operators

Control Statements

Groovy File Handling

Groovy Error & Exceptions

Groovy Multithreading

Groovy Synchronization

Groovy - List unique() method



Description

Groovy List unique() method modifies the list by removing any duplicates. Duplicates are removed using Groovy's default number-aware comparator.

Syntax

public List unique()

Parameters

NA

Return Value

A list of unique elements of the list.

Example - Getting Unique elements from a List of Integers

Following is an example of the usage of this method −

main.groovy

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

// getting list of unique elements
uniqueList = lst.unique()
println(uniqueList)

// original list is updated as well
println(lst)

Output

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

[11, 12, 13, 10, 15]
[11, 12, 13, 10, 15]

Example - Getting Unique elements from a List of Strings

Following is an example of the usage of this method −

main.groovy

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

// getting list of unique elements
uniqueList = lst.unique()
println(uniqueList)

// original list is updated as well
println(lst)

Output

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

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

Example - Getting Unique elements 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(1, "Julie")]

// getting list of unique elements
uniqueList = lst.unique()
println(uniqueList)

// original list is updated as well
println(lst)

class Student implements Comparable {
   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 + " ]";
   }
   
   public int compareTo(Object obj){
      Student s = (Student)obj;
      return this.rollNo - s.rollNo   
   }
}

Output

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

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