0

比較可能なインターフェイスとコンパレータ インターフェイスの違いは何ですか。また、どの条件でどちらを使用する必要がありますか

4

2 に答える 2

1

並べ替えオブジェクトを所有している場合は、それらに Compreble を実装するか、ロジックを個別の Comparator に分離するかを選択できます。サード パーティのオブジェクトを使用していて、それらを拡張して比較ロジックを追加したくない場合は、Comparator を使用します。

于 2013-03-04T16:00:32.963 に答える
1

A Comparable は、オブジェクトの自然順序付けを定義するインターフェースです。たとえば、文字列は辞書式の順序に従って Comparable を実装し、整数は数値の順序に従って Comparable を実装します。クラスが比較可能な場合、これがそのインスタンスに適用されるデフォルトの順序になります (たとえば、二分探索、並べ替え、SortedMap など)。

コンパレータは独立した比較メカニズムを定義します。これは、要素の自然な順序付けの代わりになる場合があります。たとえば、文字列に対して別の順序付けロジックを使用し、それを文字列配列の並べ替えに使用できます。

于 2013-03-04T16:02:06.197 に答える