Understanding custom comparators in sorting


Sorting is the process of arranging elements in a collection according to a specific order, such as ascending or descending. For primitive data types like integers, floating-point numbers, or characters, most programming languages provide built-in comparison using relational operators like < and > to establish the greater and smaller relationships.

However, real-world problems often involve sorting more complex data structures such as arrays, lists, maps, or instances of user-defined classes. In such cases, there is no inherent or default way to compare two elements. To sort these non-primitive data types, we need to define explicit rules that determine how one element should be ordered relative to another. This is often done using a custom comparator.

A custom comparator defines how two items are compared during the sorting process and allows us to control the ordering logic beyond the default behaviour.

Liking the course? Check our discounted plans to continue learning.