StudyToCert

All certifications / OCP Java / Lessons

Oracle Certified Professional: Java SE Developer 1Z0-831 (Java SE 25) · Domain 5: Working with arrays and collections

Sorting with Comparable and Comparator (comparing, thenComparing, reversed)

▶ Watch the overview video

Last reviewed September 25, 2026 · Leer en español

Java has two ways to define an order. Comparable<T> gives a class its natural ordering from inside the class, through one method, int compareTo(T other). Comparator<T> defines an ordering from outside the class, through int compare(T a, T b), so you can have many orders for one type. Both return a negative number if the first argument comes first, zero if they are equal in order, and a positive number if the first comes after.

Free account

Keep reading for free

Create a free StudyToCert account to read the rest of this lesson: 6 more sections, 4 key terms, a real-world example, an exam tip and self-check questions. Every lesson, lab and practice test is free with an account.

Sign up free Log in

Study OCP Java for free
A week-by-week plan with every lesson, quizzes, checkpoint tests, a practice exam and hands-on labs.
Open the OCP Java study plan