Beide definieren, wie Objekte zu ordnen sind, aber auf unterschiedliche Weise: Comparable definiert eine natürliche Sortierung einer Klasse (implementiert von der Klasse selbst), während Comparator eine , alternative Sortierung definiert (ein separates Objekt). Die Wahl hängt davon ab, ob die Sortierung intrinsisch oder situativ ist.
