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

C#でLinkedListのすべてのノードを削除する方法(Clearメソッドの使い方)

C#のLinkedListからすべてのノードを一括で削除するには、Clear()メソッドを使用します。Clear()メソッドを呼び出すと、リスト内のすべてのノードが削除され、Countプロパティは0になります。

Clear()メソッドの基本

LinkedList<T>クラスのClear()メソッドは、リストの先頭(Head)と末尾(Tail)への参照を解除し、すべてのノードをガベージコレクションの対象にします。この操作の計算量はO(n)です。

サンプルコード1:整数型のLinkedListを空にする

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main() {
      int[] num = {10, 20, 30, 40, 50};
      LinkedList<int> list = new LinkedList<int>(num);

      Console.WriteLine("LinkedList nodes...");
      foreach (var n in list) {
         Console.WriteLine(n);
      }

      // すべてのノードを削除
      list.Clear();

      Console.WriteLine("LinkedList is empty now!");
      foreach (var n in list) {
         Console.WriteLine(n);
      }
   }
}

出力結果

LinkedList nodes...
10
20
30
40
50
LinkedList is empty now!

foreachループでリストの中身を表示した後、Clear()メソッドを呼び出しています。その後再度foreachループを実行しても、リストが空になっているため何も出力されません。

サンプルコード2:Countプロパティでノード数の変化を確認する

次の例では、文字列型のLinkedListに10個の要素を追加し、Clear()メソッド実行前後でCountプロパティの値を確認します。

using System;
using System.Collections.Generic;

public class Demo {
   public static void Main() {
      LinkedList<String> list = new LinkedList<String>();
      list.AddLast("A");
      list.AddLast("B");
      list.AddLast("C");
      list.AddLast("D");
      list.AddLast("E");
      list.AddLast("F");
      list.AddLast("G");
      list.AddLast("H");
      list.AddLast("I");
      list.AddLast("J");

      Console.WriteLine("Count of nodes = " + list.Count);

      // すべてのノードを削除
      list.Clear();

      Console.WriteLine("Count of nodes (updated) = " + list.Count);
   }
}

出力結果

Count of nodes = 10
Count of nodes (updated) = 0

実行結果から、Clear()メソッドを呼び出すことで、ノード数が10から0に変化したことが確認できます。AddLast()メソッドで追加した要素もすべて削除されています。

まとめ

  • LinkedListの全ノードを削除するにはClear()メソッドを使う
  • 削除後はCountプロパティが0になる
  • 個別のノードだけを削除したい場合はRemove()やRemoveFirst()、RemoveLast()メソッドを使用する
  1. Pythonでタプルから文字列要素を削除する方法

    Pythonでタプルの中から文字列を削除したい場合、「リスト内包表記」と「type関数」を組み合わせることで簡単に実現できます。まず前提として、リストは異なる型の値(整数、浮動小数点数、文字列など、あらゆるデータ型)を混在させて格納できる柔軟なデータ構造です。また「タプルのリスト」とは、リストの中に複数のタプルが格納された構造のことを指します。リスト内包表記は、リストを反復処理しながら各要素に対して操作を行うための簡潔な記法です。ループ処理を1行で書けるため、コードの可読性と効率が向上します。type関数は、引数として渡されたオブジェクトのクラス(データ型)を返す組み込み関数です。これを使うこ

  2. Pythonでタプルのリストから重複要素を削除する方法

    Pythonでタプルのリストから重複する要素を削除したい場合、リスト内包表記とset(集合)を組み合わせるのが簡単で効果的な方法です。まず前提として、リストは整数・浮動小数点数・文字列など、異なるデータ型の値を混在させて格納できる柔軟なデータ構造です。また、「タプルのリスト」とは、リストの中に複数のタプルが格納されたデータ構造のことを指します。リスト内包表記は、リストを反復処理しながら操作を行うための簡潔な記法であり、コードを短く読みやすくできるのが特徴です。サンプルコードmy_list_1 = [(11, 14), (0, 78), (33, 11), (0, 78)] print(The