Java の Arrays.sort() メソッドはカスタム コンパレータによって配列をどのようにソートしますか?
Java の Arrays.sort() メソッドは、カスタム コンパレータに従って配列をどのように並べ替えるのでしょうか?
Java では、Arrays.sort() メソッドは配列を並べ替えるのに非常に便利なメソッドです。デフォルトでは、このメソッドは昇順で並べ替えます。ただし、場合によっては、独自に定義したルールに従って配列を並べ替える必要があります。このとき、カスタムコンパレータ(Comparator)を使用する必要があります。
カスタム コンパレーターは、特定のニーズに応じて比較ルールを定義できる Comparator インターフェイスを実装するクラスです。カスタム コンパレータは、基本タイプやカスタム タイプを含むあらゆるタイプのオブジェクトを並べ替えることができます。
次に、カスタム コンパレータを使用して Java の Arrays.sort() メソッドを並べ替える方法を紹介し、サンプル コードをいくつか示します。
- カスタム コンパレータを定義するにはどうすればよいですか?
カスタム コンパレータを定義するには、Comparator インターフェイスを実装し、compare メソッドをオーバーライドするだけです。 Compare メソッドには 2 つのパラメータがあります。このメソッドでは比較ルールを定義する必要があります。比較ルールには次のような状況があります:
- obj1
- obj1 == obj2、0 を返します;
- obj1 > obj2、正の整数を返します;
キー コードは次のとおりです:
public class MyComparator implements Comparator<T> { @Override public int compare(T o1, T o2) { // 你的自定义比较规则 return 0; } }
- カスタム比較を使用して配列を並べ替える方法は?
Arrays.sort() メソッドには複数のオーバーロードされたバージョンがあり、そのうちの 1 つはカスタム コンパレータを受け入れます。独自に定義したコンパレータをこのメソッドの 2 番目のパラメータとして使用できるため、独自のルールに従って配列を並べ替えることができます。
キーコードは次のとおりです:
public static <T> void sort(T[] a, Comparator<? super T> c)
このうち、T[] a はソート対象の配列を表し、Comparator super T> c はコンパレータを表します。
- サンプル コード
具体的な例を見てみましょう。Student クラスがあるとします。このクラスには、name と age という 2 つのメンバー変数が含まれています。ここで、Student 配列を年齢の小さい順に並べ替える場合は、カスタム コンパレーターを定義する必要があります。サンプル コードは次のとおりです:
public class StudentComparator implements Comparator<Student> { @Override public int compare(Student o1, Student o2) { return o1.age - o2.age; } }
上記のコードでは、Comparator
次に、Arrays.sort() メソッドを使用して、定義したルールに従って Student 配列を並べ替えます。
public class Main { public static void main(String[] args) { Student[] students = new Student[3]; students[0] = new Student("Tom", 20); students[1] = new Student("Jack", 18); students[2] = new Student("Lucy", 22); Arrays.sort(students, new StudentComparator()); for (Student student : students) { System.out.println(student.name + " " + student.age); } } }
出力結果は次のとおりです:
Jack 18 Tom 20 Lucy 22
この結果から、定義したルールに従って、Student 配列が年齢順に小さいものから大きいものへと並べ替えられていることがわかります。
- 概要
Arrays.sort() メソッドは、あらゆる種類の配列を並べ替えることができる非常に便利なメソッドです。独自に定義したルールに従って配列を並べ替える必要がある場合は、Comparator インターフェイスを実装し、compare メソッドを書き直すだけで済みます。具体的な実装プロセスは上記の通りですので、皆様の参考になれば幸いです。
以上がJava の Arrays.sort() メソッドはカスタム コンパレータによって配列をどのようにソートしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









この記事では、Windows 11/10 で写真を撮影日順に並べ替える方法を紹介し、Windows で写真が日付順に並べ替えられない場合の対処法についても説明します。 Windows システムでは、画像ファイルを見つけやすくするために、写真を適切に整理することが重要です。ユーザーは、日付、サイズ、名前などのさまざまな並べ替え方法に基づいて写真を含むフォルダーを管理できます。さらに、必要に応じて昇順または降順を設定して、ファイルをより柔軟に整理できます。 Windows 11/10 で写真を撮影日で並べ替える方法 Windows で写真を撮影日で並べ替えるには、次の手順に従います。 [ピクチャ]、デスクトップ、または写真を配置する任意のフォルダを開きます。 リボン メニューで、

Outlook には、作業をより効率的に管理するための多くの設定と機能が用意されています。その 1 つは、ニーズに応じてメールを分類できる並べ替えオプションです。このチュートリアルでは、Outlook の並べ替え機能を使用して、送信者、件名、日付、カテゴリ、サイズなどの基準に基づいてメールを整理する方法を学習します。これにより、重要な情報の処理と検索が容易になり、生産性が向上します。 Microsoft Outlook は、電子メールやカレンダーのスケジュールを簡単に一元管理できる強力なアプリケーションです。電子メールの送受信、整理が簡単にできるほか、内蔵のカレンダー機能により今後のイベントや予定を簡単に追跡できます。 Outlo の使い方

Python を使用した XML データのフィルタリングと並べ替えの実装 はじめに: XML は、データをタグと属性の形式で保存する、一般的に使用されるデータ交換形式です。 XML データを処理するとき、多くの場合、データのフィルタリングと並べ替えが必要になります。 Python には、XML データを処理するための便利なツールとライブラリが多数用意されています。この記事では、Python を使用して XML データをフィルタリングおよび並べ替える方法を紹介します。 XML ファイルの読み取り 始める前に、XML ファイルを読み取る必要があります。 Python には XML 処理ライブラリが多数ありますが、

PHP 開発: テーブル データのソート機能とページング機能を実装する方法 Web 開発では、大量のデータを処理するのが一般的なタスクです。大量のデータを表示する必要があるテーブルの場合、通常、優れたユーザー エクスペリエンスを提供し、システム パフォーマンスを最適化するために、データの並べ替え機能とページング機能を実装する必要があります。この記事では、PHP を使用してテーブル データのソート機能とページング機能を実装する方法と、具体的なコード例を紹介します。ソート機能はテーブルにソート機能を実装しており、ユーザーはさまざまなフィールドに従って昇順または降順でソートできます。以下は実装フォームです

Java の Arrays.sort() メソッドはカスタム コンパレータによって配列をどのようにソートしますか? Java では、Arrays.sort() メソッドは配列を並べ替えるのに非常に便利なメソッドです。デフォルトでは、このメソッドは昇順で並べ替えます。ただし、場合によっては、独自に定義したルールに従って配列を並べ替える必要があります。このとき、カスタムコンパレータ(Comparator)を使用する必要があります。カスタム コンパレータは、Comparator インターフェイスを実装するクラスです。

この問題では、文字列が入力として与えられ、その文字列に出現する単語を辞書順に並べ替える必要があります。これを行うには、文字列内の各単語 (スペースで区切られている) に 1 から始まるインデックスを割り当て、ソートされたインデックスの形式で出力を取得します。 String={"Hello","World"}"Hello"=1 "World"=2 入力文字列内の単語は辞書編集順であるため、出力には「12」が出力されます。いくつかの入力/結果のシナリオを見てみましょう - 入力文字列内のすべての単語が同じであると仮定して、結果を見てみましょう - 入力:{"hello","hello","hello"}結果:3 取得された結果

私たちの仕事では、wps ソフトウェアをよく使用します。wps ソフトウェアではデータを処理する方法がたくさんあり、機能も非常に強力です。平均値や要約などを求める関数をよく使用します。統計データに使用できるメソッドは、WPS ソフトウェア ライブラリで誰でも利用できるように用意されています。以下では、WPS でスコアをソートする手順を紹介します。これを読んだ後、経験から学ぶことができます。 1. まず、ランク付けする必要があるテーブルを開きます。以下に示すように。 2. 次に、数式 =rank(B2, B2: B5, 0) を入力します。必ず 0 を入力してください。以下に示すように。 3. 数式を入力した後、コンピュータのキーボードの F4 キーを押すと、相対参照が絶対参照に変更されます。

WPS は、テキスト編集、データ テーブル、PPT プレゼンテーション、PDF 形式、フローチャート、その他の機能を含む、非常に完成度の高いオフィス ソフトウェアです。その中でも私たちがよく使うのはテキスト、表、デモであり、私たちにとって最も馴染みのあるものでもあります。私たちの研究では、データ統計を作成するために WPS テーブルを使用することがあります。たとえば、学校は各生徒の得点を数えます。非常に多くの生徒の得点を手動で並べ替える必要がある場合、本当に頭の痛い作業になります。実際、WPS テーブルにはこの問題を解決する並べ替え機能があるため、心配する必要はありません。次に、WPS を並べ替える方法を一緒に学びましょう。方法のステップ: ステップ 1: まず、並べ替える必要がある WPS テーブルを開く必要があります。
