カテゴリ: VB.NET 更新日: 2025/11/20

VB.NETのList(Of T)入門!初心者でもできる柔軟なデータ管理方法

VB.NETのリスト(List(Of T))を使った柔軟なデータ管理方法
VB.NETのリスト(List(Of T))を使った柔軟なデータ管理方法

先生と生徒の会話形式で理解しよう

生徒

「先生、VB.NETでたくさんのデータを保存するとき、配列以外に何か便利な方法はありますか?」

先生

「ありますよ。配列のほかに、List(Of T)(リスト)という便利なデータ型があります。配列よりも柔軟にデータを追加したり削除したりできるんです。」

生徒

「リストって何ですか?配列とどう違うんですか?」

先生

「リストは、データの集合を扱える点では配列と似ていますが、あとから自由に増やしたり減らしたりできる点が大きな違いです。配列は固定長ですが、リストは可変長なんですよ。」

1. VB.NETのList(Of T)とは?

1. VB.NETのList(Of T)とは?
1. VB.NETのList(Of T)とは?

VB.NETのList(Of T)は、複数のデータをまとめて管理するためのコレクションの一種です。ここでいうコレクションとは「データの集まり」を意味します。リストは配列と似ていますが、配列と違って大きさをあらかじめ決める必要がなく、必要に応じてデータを追加したり削除したりできます。

例えば、学校のクラスの生徒名簿をイメージしてみてください。配列は「最初に30人分の枠を確保しておく」イメージですが、リストは「最初は空っぽの名簿を用意して、必要なときに生徒を追加していく」イメージです。途中で転校生が来ても簡単に追加できるし、退学する生徒がいれば削除もできます。

2. List(Of T)の基本的な使い方

2. List(Of T)の基本的な使い方
2. List(Of T)の基本的な使い方

VB.NETでリストを使うには、まず次のように宣言します。


Dim numbers As New List(Of Integer)()

この例では、整数(Integer)を扱うリストを作成しています。Of Integerの部分が「このリストには整数を入れる」という意味になります。他にも文字列ならList(Of String)、小数ならList(Of Double)というふうに使えます。

3. データの追加と表示

3. データの追加と表示
3. データの追加と表示

リストにデータを追加するにはAddメソッドを使います。実際にサンプルコードを見てみましょう。


Dim fruits As New List(Of String)()
fruits.Add("りんご")
fruits.Add("みかん")
fruits.Add("ぶどう")

For Each fruit As String In fruits
    Console.WriteLine(fruit)
Next

このコードを実行すると、次のように表示されます。


りんご
みかん
ぶどう

リストに追加した順番で取り出されるのがわかります。

4. データの削除

4. データの削除
4. データの削除

リストの便利なところは、不要になったデータを簡単に削除できることです。例えば、「みかん」を削除してみましょう。


fruits.Remove("みかん")

For Each fruit As String In fruits
    Console.WriteLine(fruit)
Next

実行結果は次のようになります。


りんご
ぶどう

Removeを使うと、指定したデータを簡単に削除できます。

5. データへのアクセス

5. データへのアクセス
5. データへのアクセス

リストに入っている特定のデータを取り出したいときは、インデックス番号(番号は0から始まります)を使います。


Console.WriteLine(fruits(0)) ' りんごが表示される
Console.WriteLine(fruits(1)) ' ぶどうが表示される

配列と同じように、番号を指定してデータを取り出せます。

6. リストの特徴と便利な操作

6. リストの特徴と便利な操作
6. リストの特徴と便利な操作

リストには、よく使われる便利な機能がいくつかあります。

  • Countプロパティでデータの数を調べられる
  • Containsメソッドで指定したデータが含まれているか確認できる
  • Clearメソッドでリストを空にできる

Console.WriteLine(fruits.Count)        ' データの数を表示
Console.WriteLine(fruits.Contains("りんご")) ' Trueが表示される
fruits.Clear()                          ' リストを空にする

7. 配列とリストの違い

7. 配列とリストの違い
7. 配列とリストの違い

最後に、配列とリストの違いを整理しておきましょう。

項目 配列(Array) リスト(List(Of T))
サイズ 最初に決めたら変更できない 自由に追加や削除ができる
操作のしやすさ 基本的 便利なメソッドが多い
使いやすさ シンプル 柔軟で初心者にも扱いやすい

このように、柔軟にデータを扱いたいときはリストを使うのがおすすめです。配列は決まった数のデータを扱うときに便利ですが、リストは「あとから増えるかもしれない」「削除することもある」といった場面で非常に役立ちます。

まとめ

まとめ
まとめ

VB.NETのList(Of T)は、柔軟にデータを扱える強力なコレクションであり、配列では対応しづらい「後からデータが増える」「途中のデータを削除する」「特定の要素を検索する」といった操作を簡単に実現できる点が大きな特徴です。プログラム開発では、入力フォームで登録されるユーザーデータ、商品リスト、ログ履歴、可変長のメッセージデータなど、プロジェクトの仕様変更や運用中のデータ増加に対応することが求められるケースが多く存在します。このような場面で固定長の配列を使うと拡張性が乏しく管理が複雑になる一方、List(Of T)を使えば、追加・削除・検索などの操作が簡潔なコードで実装でき、プログラム全体の保守性を向上させることができます。 配列とリストの違いを整理すると、配列は固定の要素数を前提にしたデータ管理に向いているのに対し、リストは動的要素数を扱う用途に最適です。配列は明確なサイズが決まっているデータ処理に便利で、メモリ効率や処理速度を重視した場面で有利になる場合もあります。一方のList(Of T)は、AddRemoveContainsCountといった便利なメソッドを備え、コードの記述量を減らしながら柔軟性を高めてくれるため、初心者にとっても扱いやすく実務でも頻繁に利用されます。 また、List(Of T)はジェネリック型のため、整数・文字列・クラスを含む独自型など幅広いデータ型に対応できます。たとえば商品クラス・ユーザー情報クラス・データベースから取得したレコードの一覧などもリストに格納できるため、現実世界のデータ管理に非常に近い構造で扱える点も大きな利点です。オブジェクト指向の学習を進める上でも、リストを活用してデータのまとまりを整理することは重要な技術となります。 以下は、今回の学習内容を総合的に確認できるサンプルプログラムで、データの追加・削除・検索・表示・メソッド化までを一連で確認できる例です。

まとめサンプルコード:商品リスト管理プログラム


Class Product
    Public Property Name As String
    Public Property Price As Integer

    Public Sub New(n As String, p As Integer)
        Name = n
        Price = p
    End Sub
End Class

Dim products As New List(Of Product)()

' データの追加
products.Add(New Product("りんご", 120))
products.Add(New Product("みかん", 80))
products.Add(New Product("ぶどう", 300))

' データ表示
For Each p As Product In products
    Console.WriteLine(p.Name & " : " & p.Price & "円")
Next

' データ検索
If products.Any(Function(p) p.Name = "みかん") Then
    Console.WriteLine("みかんはリストに含まれています")
End If

' データ削除
products.RemoveAll(Function(p) p.Name = "みかん")

Console.WriteLine("削除後の商品一覧")
For Each p As Product In products
    Console.WriteLine(p.Name)
Next
先生と生徒の振り返り会話

生徒

「今日の内容で、配列とリストの違いがよく分かりました!データが増える可能性があるときはList(Of T)のほうが便利なんですね。」

先生

「その通りです。リストは実践的なアプリ開発でもよく使われます。特に検索、追加、削除が頻繁にある場合はリストが向いています。」

生徒

「しかもジェネリックなので、商品クラスみたいな複雑なデータもまとめられるのが良いですね!」

先生

「そうです。オブジェクト指向と組み合わせると、より本格的なデータ管理ができるようになります。次はリストを使った検索処理や並び替えにも挑戦してみましょう。」

生徒

「はい!次は並び替えやフィルタリングも試してみます!」

カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NET Web APIとMVCの違いを完全解説!初心者でもわかるWebアプリとAPIの基本
New2
ASP.NET
ASP.NET開発環境構築|コマンドライン(dotnet CLI)でASP.NETプロジェクトを作成する方法
New3
VB.NET
VB.NETで文字列を綺麗に整える!String.Formatと文字列補間の使い方
New4
ASP.NET
LinuxでASP.NET Coreを動かす手順|初心者でもわかる開発環境構築ガイド
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのJoinメソッドを徹底解説!バラバラの文字列を一つに結合する方法
No.2
Java&Spring記事人気No2
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.3
Java&Spring記事人気No3
VB.NET
VB.NETの文字列置換を完全解説!初心者でもわかるReplaceメソッドの使い方
No.4
Java&Spring記事人気No4
VB.NET
VB.NETで文字列結合を高速化!StringBuilderクラスの使い方を完全ガイド
No.5
Java&Spring記事人気No5
VB.NET
VB.NETのDictionaryを完全ガイド!初心者でもわかる辞書の基本と応用
No.6
Java&Spring記事人気No6
VB.NET
VB.NETのList(Of T)の使い方を完全ガイド!初心者が最初に覚えるべきリスト操作
No.7
Java&Spring記事人気No7
VB.NET
VB.NETでStaticメソッドを定義する方法と活用例
No.8
Java&Spring記事人気No8
VB.NET
VB.NETで正規表現をマスター!初心者でもわかる文字列検索・抽出の基本