none
多次元配列や多段階配列 RRS feed

  • 質問

  • こんにちは

    VB.NET初心者です。

    http://msdn.microsoft.com/ja-jp/library/dd314345.aspx

    のページの中に、以下のような記述があるのですが、

    多次元配列や多段階配列を利用しなくても、より便利なデータの集合を扱う方法が、.NET Framework クラスライブラリに

    多数用意されています。そのため、多次元配列や多段階配列を利用する機会はそれほど多くないかもしれません。

    この『より便利なデータの集合を扱う方法』とは、具体的にどんな方法なのでしょうか?

    よろしくお願いします。


    2013年9月12日 5:43

回答

  • 用途次第なので一概には答えられませんが、主にSystem.Collections.Generic 名前空間に用意されているクラスが該当します。
    2013年9月12日 6:24
  • 外池と申します。大まかなイメージだけですが・・・

    配列ですと、個々の要素番号を指定して、あちこちの要素の書き込みや読み出しが行えることはご存知だと思います。柔軟性があってどんな操作も記述できるわけですが、プログラムを書き下すことは結構面倒だったりします。

    例えばですが・・・

    処理を待たせている複数のデータを並べて(一次元配列に格納して)、到着順に古いものから取出して順次処理する、一方で新たなデータも随時到着する。

    こんな「待ち行列」をプログラムしたいとき、

    先頭からデータを取り出して2番目以降のデータを前に詰める、新たに到着したデータを列の最後に置く、などの操作を、配列を使うなら、要素番号の加減演算も含めてコマゴマと書き下さなければいけません。処理が滞って待っているデータが配列から溢れる場合の対処もプログラムしなければなりません。

    このような「待ち行列」処理は、自前でプログラムするのが結構面倒ですが、類型でいろんな用途で使われるものでもあります。なので、類型的な機構を予めプログラムしたクラスを、ライブラリとして用意してあります・・・、

    そんな感じです。

    先入れ先出しの(FIFO)待ち行列、後入れ先出しの(LIFO)待ち行列、番号ではなくてキーワードで要素を呼び出す配列、等々いろいろあります。

    2013年9月12日 7:19

すべての返信

  • 用途次第なので一概には答えられませんが、主にSystem.Collections.Generic 名前空間に用意されているクラスが該当します。
    2013年9月12日 6:24
  • 外池と申します。大まかなイメージだけですが・・・

    配列ですと、個々の要素番号を指定して、あちこちの要素の書き込みや読み出しが行えることはご存知だと思います。柔軟性があってどんな操作も記述できるわけですが、プログラムを書き下すことは結構面倒だったりします。

    例えばですが・・・

    処理を待たせている複数のデータを並べて(一次元配列に格納して)、到着順に古いものから取出して順次処理する、一方で新たなデータも随時到着する。

    こんな「待ち行列」をプログラムしたいとき、

    先頭からデータを取り出して2番目以降のデータを前に詰める、新たに到着したデータを列の最後に置く、などの操作を、配列を使うなら、要素番号の加減演算も含めてコマゴマと書き下さなければいけません。処理が滞って待っているデータが配列から溢れる場合の対処もプログラムしなければなりません。

    このような「待ち行列」処理は、自前でプログラムするのが結構面倒ですが、類型でいろんな用途で使われるものでもあります。なので、類型的な機構を予めプログラムしたクラスを、ライブラリとして用意してあります・・・、

    そんな感じです。

    先入れ先出しの(FIFO)待ち行列、後入れ先出しの(LIFO)待ち行列、番号ではなくてキーワードで要素を呼び出す配列、等々いろいろあります。

    2013年9月12日 7:19
  • 佐祐理様、外池様

    お返事おそくなりまして申し訳ないです。

    詳しい解説ありがとうございました。

    System.Collections.Generic 名前空間

    を勉強してみます。これを使うと

    FIFOやLIFOの処理が簡単にできるんですね。すばらしい。

    2013年9月22日 19:06