ホームページ >Java >&#&チュートリアル >Java で TreeSet 関数を使用して順序付きセット操作を行う方法
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);
次の点に注意してください:
3. 概要
この記事では、Java の TreeSet 関数の基本操作と高度な操作を紹介します。順序付けられた収集操作を実行するための実際のニーズに応じて、対応する操作方法を選択できます。なお、subSet()メソッド、headSet()メソッド、tailSet()メソッドを使用する場合、サブセットが変更されると元のTreeSetも変更されるので注意が必要です。
以上がJava で TreeSet 関数を使用して順序付きセット操作を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。