Trong bài giảng này, chúng ta tìm hiểu khi nào nên dùng
Comparator thay vì
Comparable, cú pháp và hợp đồng (contract) của phương thức
compare(T o1, T o2), thực hành sắp xếp danh sách bằng
Collections.sort và
List.sort, tạo comparator như các lớp riêng lẻ cũng như qua lớp ẩn danh và biểu thức lambda. Chúng ta sẽ xem xét sắp xếp nhiều cấp, xử lý giá trị
null, tìm kiếm bằng
Collections.binarySearch, đảo thứ tự với
reversed(), cùng các best practices và lỗi thường gặp (ví dụ vì sao nên dùng
Integer.compare thay vì
a - b).