ITメモ
C#




【C#】データを取り扱う便利な機能「Collection」

【C#】
データを取り扱う便利な機能「Collection」











「Collection(コレクション)」とは


「コレクション」は、「System.Collections.Generic」に含まれているクラス群の1つ。
「コレクション」は、あらかじめデータサイズを指定しなくてよいので、 データの追加などがしやすく使いやすくなっている。


Back



リストの使い方


「リスト」は、「C#」の配列の欠点を補うデータを扱うクラス群「コレクション」の1つ。

「コレクション」の中でも、使用頻度が高い「リスト」は、 データ量を指定せずに、気軽に変更可能な「配列」のようなデータ構造のクラス。
データを途中に追加できるのも、便利な特徴です。


リストの書式


「using」ディレクションの記述

using System.Collections.Generic;


リストの宣言

List<型/クラス名> インスタンス変数名 = new List<型/クラス名>();
List<int> インスタンス変数名 = new List<int>();

「<>」を使って記述する方法を「ジェネリック」といい、
「ジェネリック」の仕組みを使うものを「ジェネリック・クラス」「ジェネリック・メソッド」という。
「ジェネリック」は、「クラス」「構造体」「インターフェイス」「メソッド」「デリゲード」などに適用できる。


「Add」メソッド = 末尾にデータを追加

インスタンス変数名.Add(データ);

「Insert」メソッド = 途中にデータを追加

インスタンス変数名.Insert(インデックス,データ);

「Count」メソッド = データー数を確認する

インスタンス変数名.Count;

「Remove」メソッド = データの削除

インスタンス変数名.Remove("データ内容");
インスタンス変数名.RemoveAt(インデックス);




リストを操作するメソッド

Add() 末尾にデータを追加
Insert() 途中にデータを追加
Count データー数を確認する
Remove() データ内容で削除する
RemoveAt(インデックス) リストのインデックスで指定して削除する
Reverse() 全体の並び順序を逆にする。
Find() 指定したデータの、最も小さいインデックス値を返す。
Exists() 指定されたデータが存在するか確認する。
Clear() すべてのデータを削除する。
Sort() データを並び変える。


Back



「ハッシュテーブル」の使い方


「ハッシュテーブル」は、 コレクションの一種で、連想記憶という形式で、データを保存します。
保存するデータが、「key(キー)」と「value(値)」のペアで保存しているのが特徴。

「Dictionary」クラスに実装コードが保存されている。


「ハッシュテーブル」の書式


ハッシュテーブル(連想記憶クラス)の生成

Dictionary<キーの型/クラス名, 値の型/クラス名> 変数名 = new Dictionary<キーの型/クラス名, 値の型/クラス名>();
Dictionary<String, String> SampleHash = new Dictionary<String, String>();

キーと値の代入方法

SampleHash["Key"] = "値";
SampleHash["日本"] = "Japan";
SampleHash["アメリカ"] = "USA";
SampleHash["イギリス"] = "UK";
SampleHash["フランス"] = "France";
SampleHash["イタリア"] = "Italy";


「ハッシュテーブル」の呼び出し方法

foreach(String a in SampleHash.Keys){

Console.WriteLine("Japanese : {0} ⇔ English : {1}",a,SampleHash[a]");

}

「ハッシュテーブル」のキーの一覧配列を取得する書式

配列名 = SampleHash.Keys;



Back



「ハッシュセット」の使い方


「HashSet(ハッシュセット)」は、重複した値を重複させずにデータを格納してくれるクラスです。
重複したデータは、データとして格納されません。
「1」「2」「1」「3」「1」「4」と追加しても、「1」「2」「3」「4」というデータで格納してくれます。


「ハッシュセット」の書式


「HashSet」の宣言と生成する書式

HashSet<型/クラス名> インスタンス変数名 = new HashSet<型/クラス名>();
HashSet<int> SampleHashSet = new HashSet<int>();

データの追加方法

SampleHashSet.Add(値);

データの参照方法

foreach(int b in SampleHashSet){
Console.WriteLine("{0}",b);
}



Back