Both define how to order objects, but differently: Comparable defines a class's natural ordering (implemented by the class itself), while Comparator defines an , alternative ordering (a separate object). The choice depends on whether the ordering is intrinsic or situational.
