C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のSortedSetから指定した要素を削除する方法


C#のSortedSet<T>クラスは、要素を自動的にソートされた状態で管理するコレクションです。このSortedSetから特定の要素を削除するには、Remove()メソッドを使用します。

Remove()メソッドには、削除したい要素を引数として渡します。削除に成功した場合はtrue、指定した要素がセット内に存在しなかった場合はfalseが返されます。また、SortedSetは重複する要素を持たないため、同じ値を複数回追加しても1つしか格納されない点にも注意してください。

サンプルコード(string型の例)

以下の例では、文字列を格納した2つのSortedSetを作成し、Remove()メソッドを使って指定した要素を削除しています。削除前後でCountプロパティによる要素数の変化も確認できます。

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main() {
      SortedSet<string> set1 = new SortedSet<string>();
      set1.Add("AB");
      set1.Add("BC");
      set1.Add("CD");
      set1.Add("EF");

      Console.WriteLine("SortedSet1の要素...");
      foreach (string res in set1) {
         Console.WriteLine(res);
      }

      SortedSet<string> set2 = new SortedSet<string>();
      set2.Add("BC");
      set2.Add("CD");
      set2.Add("DE");
      set2.Add("EF");
      set2.Add("AB");
      set2.Add("HI");
      set2.Add("JK");

      Console.WriteLine("SortedSet2の要素...");
      foreach (string res in set2) {
         Console.WriteLine(res);
      }

      Console.WriteLine("SortedSetの要素数 = " + set2.Count);
      set2.Remove("HI");
      set2.Remove("JK");
      Console.WriteLine("SortedSetの要素数(更新後) = " + set2.Count);
   }
}

実行結果

上記のコードを実行すると、次のような出力が得られます。

SortedSet1の要素...
AB
BC
CD
EF
SortedSet2の要素...
AB
BC
CD
DE
EF
HI
JK
SortedSetの要素数 = 7
SortedSetの要素数(更新後) = 5

このように、「HI」と「JK」を削除したことで、要素数が7から5に減っていることが確認できます。

サンプルコード(int型の例)

続いて、数値を格納したSortedSetから要素を削除する例を見てみましょう。

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main() {
      SortedSet<int> set1 = new SortedSet<int>();
      set1.Add(100);
      set1.Add(200);
      set1.Add(300);
      set1.Add(400);

      Console.WriteLine("SortedSetの要素...");
      foreach (int res in set1) {
         Console.WriteLine(res);
      }

      Console.WriteLine("SortedSetの要素数 = " + set1.Count);
      set1.Remove(100);
      Console.WriteLine("SortedSetの要素数(更新後) = " + set1.Count);
   }
}

実行結果

上記のコードを実行すると、次のような出力が得られます。

SortedSetの要素...
100
200
300
400
SortedSetの要素数 = 4
SortedSetの要素数(更新後) = 3

ポイントまとめ

  • Remove(T item):指定した要素をSortedSetから削除するメソッドです。削除成功時はtrue、要素が存在しない場合はfalseを返します。
  • Countプロパティ:現在セットに含まれる要素数を取得できます。削除操作の前後で変化を確認するのに便利です。
  • 自動ソート:SortedSetは要素を追加・削除しても常にソートされた順序を維持します。

  1. C#でArrayListから要素を削除する方法

    C#でArrayListから要素を削除するには、Remove()メソッドを使用します。まず、新しいArrayListを作成し、いくつかの要素を追加してみましょう。ArrayList arr = new ArrayList(); arr.Add(Jones); arr.Add(Tom); arr.Add(Henry);続いて、要素「Tom」を削除します。これにはRemove()メソッドを呼び出すだけでOKです。arr.Remove(Tom);Remove()メソッドは、引数に指定したオブジェクトと一致する最初の要素をリストから取り除きます。一致する要素が見つからない場合でも例外はスローされず、リ

  2. 【C#】Listからインデックスを指定して要素を削除する方法(RemoveAtメソッドの使い方)

    C#でリスト(List<T>)から特定のインデックス位置にある要素を削除するには、RemoveAt()メソッドを使用します。このメソッドは、引数に指定したインデックスに対応する要素をリストから取り除き、残りの要素を自動的に詰めてくれます。なお、存在しないインデックス(負の値やリストの範囲外の値)を指定すると ArgumentOutOfRangeException がスローされるため、呼び出し前にはインデックスが有効な範囲内であることを確認しておきましょう。1. リストを作成するまず、削除対象となる文字列型のリストを用意します。List<string> list1 = n