Entrambi definiscono come ordinare oggetti, ma in modo diverso: Comparable definisce l'ordinamento naturale di una classe (implementato dalla classe stessa), mentre Comparator definisce un ordinamento e alternativo (un oggetto separato). La scelta dipende dal fatto che l'ordinamento sia intrinseco o situazionale.
