java 8 lambda comparator

https:/‮l.www/‬autturi.com
java 8 lambda comparator

In Java 8 and later, you can use lambda expressions to create instances of the java.util.Comparator functional interface, which represents a comparison function that compares two objects of the same type and returns an int value indicating their relative order.

To create a Comparator using a lambda expression, you can use the following syntax:

Comparator<Type> comparator = (a, b) -> {
    // code to compare a and b
    return result;
};

Here, Type is the type of the objects being compared, a and b are the objects being compared, and result is the result of the comparison.

Here is an example of how you can use a lambda expression to create a Comparator that compares Person objects by their age:

import java.util.Comparator;

public class MyClass {
    public static void main(String[] args) {
        Comparator<Person> comparator = (a, b) -> a.getAge() - b.getAge();

        int result = comparator.compare(new Person("Alice", 25), new Person("Bob", 30));
        System.out.println(result); // Outputs -5
    }
}

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}
Created Time:2017-11-01 22:29:54  Author:lautturi