[Java] [共通クラス] Comparable Comparator Comparator Comparator Interface

オブジェクトをソートする必要がありますが、オブジェクトは基本タイプのような特定の数値ではありません

オブジェクトを比較する場合は、2つのインターフェースのいずれかを実装する必要があります。

 

文字列ラッパーなどは、Comparableインターフェースを実装し、CompareTo()メソッドをオーバーライドします。

「recomparetoanalogay」は「rewrite」メソッドと同じで、比較のために属性のコンテンツを取得します

自然な順序付け

-this.field> obj.field戻り+

-this <obj.field returns-

-this.field == obj.field戻り回0

 

カスタムクラスの並べ替えは、Comparableインターフェイスも実装し、CompareTo()メソッドをオーバーライドします

カスタムソート

カスタムクラスには複数の属性があります

主な判断の属性が同じで比較できない場合

複数の属性判断を重ね合わせることができます。つまり、同じintはdoubleより多く、同じcharはStringより多く、

-this.field == obj.field再判断this.field2和obj.field2

 

 

コンパレータカスタムソート、コンパレータ

オブジェクトサイズを比較するための比較メソッドの書き換え

正数 o1 > o2

負の数o1 <o2

0 o1 == o2

 

比較可能な&コンパレータの違い?

固定ソート方法の設定に適しています

コンパレータを使用して、ソートを一時的にカスタマイズします。ソート方法はより柔軟です

 

おすすめ

転載: www.cnblogs.com/mindzone/p/12734895.html