タグ

Collectionsに関するshigiryouのブックマーク (5)

  • C# のコレクション使用法のガイドライン その2 コレクション - Qiita

    前回の配列の次はようやくコレクションです コレクションの全体像 コレクションの全体像は大体、この感じ。これ以外にも、IReadOnlyCollection 等のリードオンリー系、ジェネリクスのサポートされているものと、そうでないもの、それから、スレッドセーフなコレクションも存在します。全体のざっくりした説明をするとこんな感じ IEnumerable 単純な、繰り返しの Enumerator を返すことのできるインターフェイス が唯一のメソッド。 ICollection サイズをもっている。非同期実行系の拡張メソッドもサポートしている。IEnumerable との違いは、 Count を持っていること。同期実行可能かのフラグをもっていたりする。 IDictionary key/value ペアのコレクション IList 順序性のあるコレクションで、インデックスをもっている あとは、これらのイ

    C# のコレクション使用法のガイドライン その2 コレクション - Qiita
  • セット

    数学などにおいては、 「集合(set)」というと、 要素を包含するかどうかだけが問題で、 挿入された順序等は意味を持ちません。 ということで、要素の順序は関係ないという状況下で、 要素の挿入・削除・検索を高速で行えるようなコレクションをセット(set)と呼びましょう。 (「集合」だとコレクションと紛らわしいので、英語のままにしておきます。 ちなみに、数学用語的には、collection は「集まり」と訳します。) 「ソート済み配列」、 「ハッシュテーブル」、 「2分探索木」等は全てこの要件を満たしています。 要するに、これらはいずれもセットと呼ぶに値する機能を持っています。 そこで、セットは、以下のような「インターフェース」として定義します。 /// <summary> /// セット。 /// 数学で「集合」と呼ぶ奴。 /// 要素の順序には意味がなくて、要素が含まれているかどうかだけが

    セット
  • コレクション概要

    「データ構造」と呼ばれるものの代表格というと、 同じ型のデータをたくさん集めたもの、すなわちコレクションと呼ばれるものでしょう。 今の世の中、Java も C# も標準で、 List やら Dictionary やらいろいろなコレクションを持っています。 C++ も、1998年に標準化された STL と呼ばれるライブラリに、 一通りのコレクション(STL の流儀ではコンテナとも呼びます)が揃っています。 昔の人は結構な頻度でこの手のデータ構造を自作していました。 また、標準でその手のコレクションを利用できる現在においても、 どのコレクションの内部構造がどういう風になっているのか概要だけでも知っていれば、 どういうケースでどのコレクションを使うのが最適なのかがすぐに分かるという利点があります。 かなりの部分が STL の説明と被るので、 「単なるC# サンプルプログラム」みたいな扱いになりそ

    コレクション概要
  • ArrayListとListの違いとは?[C#/VB]

    連載目次 配列のように使えて長さは可変のコレクションが、.NET Frameworkには2つある。ArrayListクラス(System.Collections名前空間)とList<T>クラス(System.Collections.Generic名前空間)だ。両者の違いは何だろうか? そして、どちらを使うべきだろうか? 結論から言っておくと、Listを使うべきなのだ。稿では、両者の使い方や変換方法、そしてパフォーマンスについて解説していく。 特定のトピックをすぐに知りたいという方は以下のリンクを活用してほしい。

    ArrayListとListの違いとは?[C#/VB]
  • Create an array, hashtable and dictionary?

  • 1