Java で TreeSet 関数を使用してセットを並べ替える方法
Java の TreeSet 関数を使用して、コレクションを並べ替えることができます。他のセットとは異なり、TreeSet は要素を自然な順序に従って並べ替えます。 TreeSet関数を使ってコレクションを並べ替える方法を詳しく紹介します。
- TreeSet の概要
TreeSet は、赤黒ツリーの実装に基づいた順序付きセットです。 TreeSet は AbstractSet クラスを継承し、NavigableSet インターフェイスを実装します。 TreeSet は、要素の自然な順序付け、または渡された Comparator オブジェクトによる順序付けを実装します。
TreeSet の場合、最も重要なメソッドは add()、remove()、contains() およびその他のメソッドであり、これらのメソッドは AbstractSet クラスのメソッドを呼び出すことによって実装されます。さらに、TreeSet は、first()、last()、headSet()、tailSet()、subSet() などのいくつかの順序付きセット メソッドも実装します。
- TreeSet を使用してコレクションを並べ替える
次に例を使用して、TreeSet を使用してコレクションを並べ替える方法を紹介します。 Student クラスを使用し、並べ替えるための複数の Student オブジェクトのコレクションを作成します。
最初に、Student クラスを定義する必要があります。
public class Student implements Comparable<Student> { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public int compareTo(Student student) { return this.age - student.age; } @Override public String toString() { return "Student{" + "name='" + name + ''' + ", age=" + age + '}'; } }
上記のコードでは、Student クラスを定義し、Comparable インターフェイスを実装します。 CompareTo() メソッドを実装することで、要素の自然な順序付け方法を定義します。
2 つの Student オブジェクトを比較する場合、学生を年齢で並べ替えたいため、年齢を比較します。
次に、複数の Student オブジェクトを含むコレクションを作成します。
Set<Student> students = new TreeSet<>(); students.add(new Student("张三", 20)); students.add(new Student("李四", 19)); students.add(new Student("王五", 22)); students.add(new Student("赵六", 21));
4 つの Student オブジェクトがコレクションに追加されたことがわかります。 Collections.sort() メソッドを使用してコレクションを並べ替える代わりに、TreeSet 関数を使用します。この関数は、要素を自然な順序に従って自動的に並べ替えます。
最後に、for-each ループを使用してコレクションを走査し、生徒の情報を出力できます。
for (Student student : students) { System.out.println(student); }
最終的な出力結果は、生徒の年齢に応じて年少から年長までソートされます。 large:
Student{name='李四', age=19} Student{name='张三', age=20} Student{name='赵六', age=21} Student{name='王五', age=22}
- カスタム並べ替えメソッド
要素の自然な順序に従って並べ替えたくない場合は、Comparator オブジェクトを使用して並べ替えをカスタマイズできます。方法。次のコードは、Comparator オブジェクトを使用して並べ替え方法をカスタマイズする方法を示しています。
Set<Student> students = new TreeSet<>(Comparator.comparing(Student::getName)); students.add(new Student("张三", 20)); students.add(new Student("李四", 19)); students.add(new Student("王五", 22)); students.add(new Student("赵六", 21));
上記のコードでは、TreeSet オブジェクトの作成時に Comparator オブジェクトを渡しました。 Comparator.comparing() メソッドを呼び出し、Student クラスの getName() メソッドを使用して並べ替えメソッドを定義します。これは、生徒の名前で並べ替えることを意味します。
最後に、引き続き for-each ループを使用してコレクションを走査し、生徒の情報を出力します。
for (Student student : students) { System.out.println(student); }
最終出力は、生徒の名前の小さい順に並べ替えられます。
Student{name='李四', age=19} Student{name='张三', age=20} Student{name='赵六', age=21} Student{name='王五', age=22}
- summary
TreeSet 関数を使用してコレクションを並べ替えるのは、他の方法よりも簡単です。要素の自然な順序に従って自動的に並べ替えられます。または、Comparator オブジェクトを渡すことで並べ替え方法をカスタマイズできます。 TreeSet の使用をマスターすると、Java でコレクションをより簡単に並べ替えることができます。
以上がJava で TreeSet 関数を使用してセットを並べ替える方法の詳細内容です。詳細については、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)

ホットトピック











Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Java のアームストロング番号に関するガイド。ここでは、Java でのアームストロング数の概要とコードの一部について説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです
