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

C#のジャグ配列(Jagged Array)とは?宣言・初期化・使い方を解説

C#のジャグ配列とは

ジャグ配列(Jagged Array)とは、C#における「配列の配列」のことです。通常の多次元配列とは異なり、内側の配列ごとに異なる長さを持たせることができるため、「ギザギザ(jagged)な配列」と呼ばれています。

ジャグ配列は、次のように宣言および初期化できます。

int[][] rank = new int[1][]{new int[]{5,3,1}};

以下は、C#でジャグ配列を実際に扱う方法を示すサンプルコードです。

サンプルコード

using System;

namespace Program {
    class Demo {
        static void Main(string[] args) {

            int[][] rank = new int[][]{new int[]{1,2},new int[]{3,4}};
            int i, j;

            for (i = 0; i < 2; i++) {
                for (j = 0; j < 2; j++) {
                    Console.WriteLine("a[{0}][{1}] = {2}", i, j, rank[i][j]);
                }
            }
            Console.ReadKey();
        }
    }
}

実行結果

a[0][0] = 1
a[0][1] = 2
a[1][0] = 3
a[1][1] = 4

上記のコードでは、整数型の配列を2つ持つジャグ配列を定義しています。

int[][] rank = new int[][]{new int[]{1,2},new int[]{3,4}};

このように、ジャグ配列では外側の配列の各要素が、それぞれ独立した配列を参照する構造になっています。そのため、内側の配列ごとに長さを変えることが可能で、例えば rank[0] には要素数2の配列、rank[1] には要素数5の配列を割り当てることもできます。

データ量が行によって大きく異なる場合などに、多次元配列よりもメモリを効率的に使えるのがジャグ配列の大きな利点です。要素へのアクセスは rank[i][j] のように2段階のインデックス指定で行い、ネストされた for ループと組み合わせてすべての要素を順番に処理するのが一般的です。

  1. JavaScriptの連想配列とは?基本的な仕組みと使い方を解説

    JavaScriptにおける「連想配列(Associative Array)」とは、数値のインデックスの代わりに、ユーザーが自由に定義した文字列キーを使って値にアクセスできるデータ構造のことです。厳密に言えば、JavaScriptの連想配列の正体はオブジェクトであり、他の言語にあるような専用の連想配列型は存在しません。 通常の配列と比べると、連想配列には次のような特徴があります。 lengthプロパティを持たない:要素数を取得する機能がありません。 通常のforループでは走査できない:インデックスが存在しないため、for...in文などを使って反復処理を行います。 JavaScriptの

  2. C#の動的配列とは?ArrayListを使った動的な配列の作成方法を解説

    動的配列とは、実行時にサイズを自由に拡張できる配列のことです。通常の静的配列は宣言時にサイズが固定されるため、後から要素数を変更することはできません。その点、動的配列は柔軟性が高く、多くの場面で有利になります。C#で配列を動的に作成するには、ArrayListコレクションを使用します。ArrayListは、個別にインデックスアクセスが可能なオブジェクトの順序付きコレクションを表します。動的なメモリ割り当てに対応しており、リストへの要素の追加(Add)、検索、並べ替え(Sort)なども簡単に行えます。C#で動的配列を作成するサンプルコード以下は、C#でArrayListを使って動的に配列を作成す