The Comparator interface is a comparison function that imposes a total ordering on a collection of objects. A comparable object is capable of comparing itself with another object. In this tutorial, we will see how to sort List (ArrayList) in ascending and descending order using Java 8 Stream APIs. Otherwise, the spliterator's comparator is the same as or imposes the same total ordering as the tree map's comparator. Java example to sort list of objects by multiple fields using Comparator.thenComparing() method. Basically, in Java 7, we were using Collections.sort() that was accepting a List and, eventually, a Comparator – in Java 8 we have the new List.sort(), which accepts a Comparator. In the previous tutorials we have discussed about what is comparator in Java, you can seen the basic functionality of the comparator in java here. The class itself must implements the java.lang.Comparable interface to compare its instances. Comparator.compare. Java 8 Lambda Expressions uing compare method A lambda expression is like a method: it provides a list of formal parameters and a body - an expression or block - expressed in terms of those parameters. However, it is the comparator that defines precisely what sorted order means. Java 8 Comparator : Sorting the Cricketer objects with comparator with Java 8 extreme feature Lambda expressions. In Java 8 there is a really handy new feature regarding creation of comparators. Consider the following Book class:. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. The spliterator's comparator (see Spliterator.getComparator()) is null if the tree map's comparator (see comparator()) is null. The compare( ) method, shown here, compares two elements for order − … The Comparator interface defines two methods: compare( ) and equals( ). Both TreeSet and TreeMap store elements in sorted order. This method returns a lexicographic-order comparator with another comparator. Cricketer.java Java 8 Comparator monday, august 11, 2014. Create a Cricketer Pojo class. We can use it on data structures like SortedSet or a SortedMap to determine the order in which objects will be stored in such structures. and Name. Comparator.comparing(keyExtractor); Currently I have a class as follows. Java provides two interfaces to sort objects using data members of the class: Comparable; Comparator . Java 8 Lambda - Sort List in Ascending and Descending Order | Comparator Example Java 8 – Comparator thenComparing() example. It gives the same effect … In Java 8 Comparator, we can create a comparator as follows. We can use a Comparator to sort a list of objects. Method 1: One obvious approach is to write our own sort() function using one of the standard algorithms.This solution requires rewriting the whole sorting code for different criterion like Roll No. public class Book { String name; int numPages; public Book(String name, int numPages) { this.name = name; this.numPages = numPages; } //getters and setters } Introduction. Using Comparable Interface. Instead of writing large compareTo methods in the Comparable class, one can simply define different comparators on demand (more like SQL ORDER BY statements than a single definition of sorting carved in stone). So, you can implement the Comparator.compare method via a lambda expression.. From Java 8 onwards, Comparator is designated as a functional interface. Method 2: Using comparator interface- Comparator interface is used to order the objects of user-defined class.This interface is present in java.util package and contains 2 methods …