ホームページ >Java >&#&ベース >Javaの比較対象とコンパレータの違い

Javaの比較対象とコンパレータの違い

王林
王林転載
2019-12-24 17:47:542692ブラウズ

Javaの比較対象とコンパレータの違い

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. 学生カテゴリ

Javaの比較対象とコンパレータの違い

#2. テスト カテゴリ

Javaの比較対象とコンパレータの違い

#2. ナチュラル と書きましょう。並べ替え Comparable の使用 - クラス (オブジェクト) 内部コンパレータ (Comparable インターフェイスの実装):

簡単に言うと、コンパレータはクラス内に記述されます。

クラス (オブジェクト) は Comparable インターフェイスを実装し、compareTo メソッドをオーバーライドします (このメソッドはコンパレータとみなすことができます)。このクラスには内部コンパレータがあります。コンパレータを実装すると、このクラスが並べ替えをサポートすることになることに注意してください。

実装手順:

TreeSet コレクションを使用してカスタム オブジェクトを格納します。パラメータなしの構築方法で、並べ替えられた要素の自然な並べ替えを使用します。 。

自然な並べ替えとは、要素が属するクラスが Comparable インターフェイスを実装し、compareTo(Student s) メソッドをオーバーライドすることを意味します。

メソッドを書き換えるときは、並べ替えルールに必ず注意してください。必要な主条件と書き込み二次条件に従う必要があります。

1. 学生カテゴリー

Javaの比較対象とコンパレータの違い

2. テスト カテゴリ

Javaの比較対象とコンパレータの違い

テスト結果:

Javaの比較対象とコンパレータの違い

おすすめの関連記事とチュートリアル: Java の基本入門

以上がJavaの比較対象とコンパレータの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。