Trung BìnhJava iconJava

Comparable và Comparator khác nhau thế nào?

Comparable: định nghĩa thứ tự tự nhiên trong chính class đó (implement Comparable<T>, override compareTo()).

  • Mỗi class chỉ có một thứ tự so sánh. Comparator: logic so sánh bên ngoài, implement Comparator<T>, override compare().
  • Có thể tạo nhiều chiến lược sắp xếp khác nhau.
  • Dùng Comparable khi đối tượng có thứ tự rõ ràng (User theo ID); Comparator khi cần sắp xếp theo nhiều tiêu chí khác nhau (tên, tuổi, lương).

Xem toàn bộ Java cùng filter theo level & chủ đề con.

Mở danh sách Java