2 つのオブジェクトの大小関係や並び順を決めることを比較といいます。この比較機能を実現できるクラスやメソッドをコンパレータといいます。Java デバイスでは 2 種類の比較があります。
内部コンパレータ (Comparable インターフェイス) と外部コンパレータ (Comparator インターフェイス)
1. コンパレータのソートの使用 Comparator - クラス (オブジェクト) とみなすことができます。 comparator (Comparator インターフェイスを実装します)。
簡単に言うと、コンパレータはクラスの外に書くということです。新しいコンパレータ クラスを外部で定義するだけです。
新しいクラスを定義します。クラス名は任意ですが、このクラスは Comparator インターフェイスを実装し、compare メソッドをオーバーライドする必要があります。これを外部コンパレータと呼びます。
ケース: Student オブジェクトを保存し、パラメータ化された構築メソッドを使用して TreeSet コレクションを作成します。
要件: 最年少から最年長まで年齢順に並べ替えます。年齢が同じ場合は、名前のアルファベット順に並べ替えます。
無料の学習ビデオ チュートリアルの推奨事項: java 教育ビデオ
実装手順: TreeSet コレクションを使用してカスタム オブジェクトを保存し、パラメーター化された構築メソッドではコンパレーターを使用して要素を並べ替えますComparator のソートは、コレクション構築メソッドが Comparator の実装クラス オブジェクトを受け取るようにすることです。compare(Student s1, Student s2) メソッドを書き換えるときは、必要な 1 次条件と 2 次条件に従っている必要があるソート ルールに注意する必要があります。
1. 学生カテゴリ
#2. テスト カテゴリ
#2. ナチュラル と書きましょう。並べ替え Comparable の使用 - クラス (オブジェクト) 内部コンパレータ (Comparable インターフェイスの実装):
簡単に言うと、コンパレータはクラス内に記述されます。
クラス (オブジェクト) は Comparable インターフェイスを実装し、compareTo メソッドをオーバーライドします (このメソッドはコンパレータとみなすことができます)。このクラスには内部コンパレータがあります。コンパレータを実装すると、このクラスが並べ替えをサポートすることになることに注意してください。
実装手順:
TreeSet コレクションを使用してカスタム オブジェクトを格納します。パラメータなしの構築方法で、並べ替えられた要素の自然な並べ替えを使用します。 。
自然な並べ替えとは、要素が属するクラスが Comparable インターフェイスを実装し、compareTo(Student s) メソッドをオーバーライドすることを意味します。
メソッドを書き換えるときは、並べ替えルールに必ず注意してください。必要な主条件と書き込み二次条件に従う必要があります。
1. 学生カテゴリー
2. テスト カテゴリ
テスト結果:
おすすめの関連記事とチュートリアル: Java の基本入門
以上がJavaの比較対象とコンパレータの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。