Java の TreeSet は、赤黒ツリーに基づいて実装された順序付きセットです。要素がサイズ順にソートされており、要素の追加、削除、検索が素早く行えるのが特徴です。この記事では、Java で TreeSet 関数を使用して順序付きセット操作を実行し、実際のプログラミングに適用できるようにする方法を紹介します。
1. TreeSet の基本操作
1. TreeSet オブジェクトの作成
TreeSet を使用するには、まず TreeSet オブジェクトを作成する必要があります。パラメーターなしのコンストラクターを使用して空の TreeSet を作成することも、TreeSet オブジェクトの作成時に Comparator を指定して照合順序をカスタマイズすることもできます。
サンプル コード:
TreeSet<Integer> set = new TreeSet<>(); TreeSet<String> set2 = new TreeSet<>(new Comparator<String>() { @Override public int compare(String o1, String o2) { // 自定义排序规则 return o1.compareToIgnoreCase(o2); } });
2. 要素の追加
add() メソッドを使用して要素を TreeSet に追加します。 TreeSet は要素をサイズ順に自動的に並べ替え、同じ要素は 1 回だけ保存されます。
サンプル コード:
set.add(3); set.add(1); set.add(2); set.add(3); // 结果为[1, 2, 3] System.out.println(set);
3. 要素の削除
remove() メソッドを使用して、TreeSet 内の要素を削除できます。
サンプル コード:
set.remove(3); // 结果为[1, 2] System.out.println(set);
4. 要素が存在するかどうかを確認する
contains() メソッドを使用して、要素が TreeSet に存在するかどうかを確認できます。
サンプル コード:
boolean contains = set.contains(2); // 结果为true System.out.println(contains);
5. 要素数の取得
size() メソッドを使用して、TreeSet 内の要素の数を取得できます。
サンプル コード:
int size = set.size(); // 结果为2 System.out.println(size);
6. 要素の走査
for ループまたは forEach() メソッドを使用して、TreeSet 内の要素を走査できます。
サンプルコード:
for (Integer i : set) { System.out.print(i + " "); } System.out.println(); set.forEach(System.out::println);
出力結果:
1 2 1 2
2. TreeSet の高度な操作
1. 最初の要素と最後の要素を取得します
first() メソッドと last() メソッドを使用して、TreeSet 内の最初の要素と最後の要素を取得できます。
サンプル コード:
Integer first = set.first(); Integer last = set.last(); // 结果为1 2 System.out.println(first + " " + last);
2. サブコレクションの取得
subSet() メソッドを使用して、fromElement (含む) を含む TreeSet のサブコレクションを取得できます。 ) toElement 間の要素に (排他的)。 fromElement が指定されていない場合は、TreeSet の最初の要素から開始することを意味します。
サンプル コード:
TreeSet<Integer> subSet = (TreeSet<Integer>) set.subSet(1, 2); // 结果为[1] System.out.println(subSet); TreeSet<String> subSet2 = (TreeSet<String>) set2.subSet("A", "c"); // 结果为[b, C] System.out.println(subSet2);
サブコレクションが変更されると、元の TreeSet も変更されることに注意してください。
3. head 要素または tail 要素のサブコレクションを取得する
headSet() メソッドと tailSet() メソッドを使用して、head (toElement を除く) または tail (fromElement を含む) を取得できます。 ) TreeSet の要素のサブコレクション。
サンプル コード:
TreeSet<Integer> headSet = (TreeSet<Integer>) set.headSet(2); // 结果为[1] System.out.println(headSet); TreeSet<String> tailSet = (TreeSet<String>) set2.tailSet("b"); // 结果为[b, C] System.out.println(tailSet);
サブコレクションが変更されると、元の TreeSet も変更されることにも注意してください。
4. 指定した要素より小さいまたは大きい要素を取得する
lower() メソッド、floor() メソッド、higher() メソッド、ceiling() メソッドを使用して取得できます。指定された要素より小さいまたは大きい要素 大きな要素。
サンプル コード:
Integer lower = set.lower(2); Integer floor = set.floor(2); Integer higher = set.higher(1); Integer ceiling = set.ceiling(1); // 结果为1 2 2 1 System.out.println(lower + " " + floor + " " + higher + " " + ceiling);
次の点に注意してください:
- lower() メソッドと Floor() メソッドの違いは次のとおりです。 ) メソッドは指定された比率を取得します より小さな要素を持つ最大の要素は、指定された要素よりも小さい最大の要素であり、floor() メソッドは指定された要素よりも小さい最も近い要素、つまり最も近い要素を取得します指定された要素以下です。
- higher() メソッドと Ceiling() メソッドの違いは次のとおりです。higher() メソッドは、指定された要素よりも大きい最小の要素、つまり、指定された要素よりも大きい最小の要素を取得します。指定された要素; 一方で、ceiling() メソッドは、指定された要素より大きい最小の要素、指定された要素以上の最も近い要素を取得します。
3. 概要
この記事では、Java の TreeSet 関数の基本操作と高度な操作を紹介します。順序付けられた収集操作を実行するための実際のニーズに応じて、対応する操作方法を選択できます。なお、subSet()メソッド、headSet()メソッド、tailSet()メソッドを使用する場合、サブセットが変更されると元のTreeSetも変更されるので注意が必要です。
以上がJava で TreeSet 関数を使用して順序付きセット操作を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
