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

C#のArrayListで格納可能な要素数を取得・設定する方法(Capacityプロパティの使い方)

C#のArrayListに格納できる要素の数を取得または設定するには、Capacityプロパティを使用します。この記事では、実際のコード例を通じて、CountとCapacityの違いもあわせて解説します。

Capacityプロパティとは

ArrayList.Capacityは、リストが現在確保している内部配列のサイズ(格納可能な要素数)を表します。一方、ArrayList.Countは、実際に格納されている要素の数を返します。要素を追加していくと、容量が不足した時点で自動的に拡張される仕組みになっています。

サンプルコード1:デフォルトの容量を確認する

以下は、要素を追加した際にCapacityがどのように変化するかを確認する例です。

using System;
using System.Collections;

public class Demo {
   public static void Main() {
      ArrayList arrList = new ArrayList();
      arrList.Add(25);
      arrList.Add(50);
      arrList.Add(75);
      arrList.Add(100);
      arrList.Add(125);
      arrList.Add(150);
      arrList.Add(175);
      arrList.Add(200);
      arrList.Add(225);
      arrList.Add(250);

      Console.WriteLine("Elements in ArrayList...");
      foreach(int i in arrList) {
         Console.WriteLine(i);
      }

      Console.WriteLine("Count of elements = " + arrList.Count);
      Console.WriteLine("Capacity = " + arrList.Capacity);
   }
}

実行結果

Elements in ArrayList...
25
50
75
100
125
150
175
200
225
250
Count of elements = 10
Capacity = 16

この例では、初期状態から要素を追加していったため、実際の要素数(Count)は10ですが、内部で確保されている容量(Capacity)は16になっています。これは、容量が不足するとArrayListが自動的に領域を拡張するためです。

サンプルコード2:初期容量を指定する

コンストラクタで初期容量を指定することもできます。以下の例では、容量10を指定してArrayListを作成しています。

using System;
using System.Collections;

public class Demo {
   public static void Main() {
      ArrayList arrList = new ArrayList(10);
      arrList.Add(25);
      arrList.Add(50);
      arrList.Add(75);
      arrList.Add(100);

      Console.WriteLine("Elements in ArrayList...");
      foreach(int i in arrList) {
         Console.WriteLine(i);
      }

      Console.WriteLine("Count of elements = " + arrList.Count);
      Console.WriteLine("Capacity = " + arrList.Capacity);
   }
}

実行結果

Elements in ArrayList...
25
50
75
100
Count of elements = 4
Capacity = 10

この場合、実際の要素数(Count)は4ですが、事前に容量として10を指定しているため、Capacityはそのまま10となっています。

まとめ

  • Count:ArrayListに実際に格納されている要素の数を返す。
  • Capacity:ArrayListが格納できる要素の最大数(内部で確保された領域のサイズ)を取得または設定する。
  • 要素追加時に容量が不足すると、ArrayListは自動的に容量を拡張する。
  • あらかじめ必要な要素数がわかっている場合は、コンストラクタで初期容量を指定することで、再割り当てによるオーバーヘッドを減らせる。
  1. C#のArrayListクラスにおけるCountプロパティの使い方を解説

    C#のArrayListクラスには、リストに格納されている要素の数を取得するためのCountプロパティが用意されています。このプロパティを使うことで、ArrayList内の現在の要素数を簡単に確認できます。ArrayListへの要素の追加まず、Addメソッドを使ってArrayListに要素を追加します。ArrayList arrList = new ArrayList(); arrList.Add(98); arrList.Add(55); arrList.Add(65); arrList.Add(34);上記のコードでは、4つの整数値(98、55、65、34)をArrayListに追加して

  2. JavaでArrayListのすべての要素を削除する方法(clearメソッドの使い方)

    JavaのArrayListからすべての要素を一括で削除したい場合は、clear()メソッドを使用します。この記事では、実際のコード例を通じて、ArrayListの全要素を削除する手順をわかりやすく解説します。1. 要素を持つArrayListを作成するまず、複数の要素を格納したArrayListを用意しましょう。以下の例では、Integer型のArrayListに7つの数値を追加しています。ArrayList<Integer> arrlist = new ArrayList<Integer>(5); arrlist.add(25); arrlist.add(50);