Web Analytics Made Easy - StatCounter

Economics Of TEC

RPA,経済学,IT技術などに関する情報を発信しています。

【C#入門】Collection(コレクション)とは?LIST型の使い方をご紹介

f:id:WillSpecter:20200811195608j:plain

 

これまで、メソッド、クラス、インスタンスカプセル化、プロパティ、継承、オーバーライドなどを順に紹介してきました。今回は、「コレクション」を紹介させていただきます。

 

◆これまでの記事◆

 

コレクションとは

コレクションとは、配列と同じくデータをまとめて扱う仕組みのことです。配列よりも柔軟にデータの追加や削除ができます。

 

特に、配列では最初に要素数を決めたらそれ以降変更することができません。しかし、コレクションのLIST型を使えば、必要に応じて後から要素数を追加できます

 

例えば、食事のカロリーを毎日記録していく場合、データは1日ずつ増えていき、いつ終わるか分かりません。10日で十分のときもあれば、365日でも足りないケースがあります。

 

そんな時に、あとから要素を追加・削除することができるのが、LIST型の特徴です。

コレクションの種類

コレクションにはいくつか種類があります。

先ほど説明したLIST型や、2つのデータを一組にして格納することができるDictionary型、Stack、Queueなどです。

Stackは最後に追加したデータから順番に値を取り出し、Queueは最初に追加したデータから順番に値を取り出します。

LIST型とは

今回は最も基本的なLIST型の使い方について紹介します。

LIST型の使い方

LISTを使う手順は以下のようになります。

①Collectionが含まれるname spaceを宣言する

②LIST型の変数を作成する

③メソッドで値の操作をする

早速それぞれについて説明させていただきます。

 

Collectionが含まれるname spaceを宣言

Collectionは様々なデータ群を扱うクラス群です。

name space "System.Collections.Generic" に含まれているので、LISTを使う場合にも下記の通り宣言をする必要があります。

using System.Collections.Generic;

それをしない場合、型または名前空間の名前'List<>'が見つかりませんでしたというエラーメッセージが表示されます。

LIST型の変数を作成

要素はLIST型の変数に入れるため、LIST型の変数を作成します。

List<型名> 変数名 = new List<型名>();

 

もし配列にすると、以下のようになり、要素数を指定する必要があります。

型名[] 変数名 = new 型名[要素数]();
メソッドで値の操作

LIST型の変数に要素を追加や削除する操作を行います。

例えば、LISTに要素を追加する場合は、このように書きます。 

変数名.Add(追加する値); 

また、LISTの要素数は、「変数名.Count」で取得することができます。

 

LISTで利用できるメソッドは、追加、削除だけでなく他にもたくさんあります。先ほどの追加のメソッドと同様に、「変数名.メソッド名」と記載しましょう。

 

☆LISTで使えるメソッド☆

下記を覚えておくととても便利です。

メソッド名 役割
Add(追加する値) 最後尾に要素を追加 
Insert(追加位置,追加する値) 指定した位置に要素を挿入
Remove(削除する値) 指定した値の要素を削除
RemoveAt(削除するインデックス) 指定したインデックスの要素を削除
Clrear() 全ての要素を削除
IndexOf(検索する値) 要素の位置を検索
Contains(検索する値)  要素の有無を調べる
Sort() Listを昇順にな並べ変える
Reverse() Listを逆純に並べる
Find() 指定した値を探し最も小さいインデックスを返す
Exists() 指定されたデータと同じものが存在するかを調べる

 プログラム例

以下のプログラムは、カロリーの変数(kcal)に値を追加して、要素の数だけ表示させるという内容になります。

using System;
using System.Collections.Generic; //LIST型を使うので追加

namespace LIST
{
    class Program
    {
        static void Main(string[] args)
        {
            //LIST型の変数を作成
            List<int> kcal = new List<int>();

            //変数に要素を追加
            kcal.Add(1400);
            kcal.Add(1200);
            kcal.Add(1300);
            kcal.Add(1500);
            kcal.Add(1700);

            for (int i =0; i < kcal.Count; i++) //要素の数まで繰り返す
            {
                Console.WriteLine(kcal[i]);
            }

        }
    }
}

 

また、インデックスの削除や昇順に並べ替えると以下のようになります。

            //変数に要素を追加
            kcal.Add(1400);
            kcal.Add(1200);
            kcal.Add(1300);
            kcal.Add(1500);
            kcal.Add(1700);

            kcal.RemoveAt(4); //指定したインデックスの要素を削除
            kcal.Sort();      //小さい純に並べる

            for (int i =0; i < kcal.Count; i++) //要素の数まで繰り返す
            {
                Console.WriteLine(kcal[i]);
            }

 

ひとこと

いかがでしたでしょうか。配列よりもデータの操作がしやすいので、使い勝手が良いことが分かります。

 

今回の説明は「確かな力が身につくC# 「超」入門」を参考にさせていただきましたが(例題はオリジナルです)、「もっと前から読んでおきたかった!」と痛感しています、、。もし、C#について学び始めたという方は是非参考にしてみてください!(2020年7月に出版された新書です(^^)

 

他にも、C#関連の記事を書いていますので是非参考にしてください!

◆合わせて読みたい◆