ここではVB.NETのListクラスの操作について紹介します。
目次
要素を追加する
初期化と一緒に要素を追加する
' 文字列のリスト
Dim strList As New List(Of String)(New String() {"A", "B", "C"})
' 数値のリスト
Dim intList As New List(Of Integer)(New Integer() {1, 2, 3})
要素を追加する(Addメソッド)
Dim strList As New List(Of String)
' リストに要素を追加
strList.Add("A")
strList.Add("B")
strList.Add("C")
要素を取得する
要素の位置を指定して取得する
Dim strList As New List(Of String)
' リストに要素を追加
strList.Add("A")
strList.Add("B")
strList.Add("C")
Console.WriteLine(strList(0)) ' 実行結果:A
Console.WriteLine(strList(1)) ' 実行結果:B
Console.WriteLine(strList(2)) ' 実行結果:C
For文ですべての要素を取得する
Dim strList As New List(Of String)
' リストに要素を追加
strList.Add("A")
strList.Add("B")
strList.Add("C")
For i As Integer = 0 To strList.Count - 1
Console.WriteLine(strList(i))
Next
' 実行結果:A、B、C
For Each文ですべての要素を取得する
Dim strList As New List(Of String)
' リストに要素を追加
strList.Add("A")
strList.Add("B")
strList.Add("C")
For Each ls As String In strList
Console.WriteLine(ls)
Next
' 実行結果:A、B、C
要素の情報を取得する
要素数を取得する(Countプロパティ)
Dim strList As New List(Of String)
strList.Add("A")
strList.Add("B")
strList.Add("C")
Console.WriteLine(strList.Count) ' 実行結果:3
指定した要素があるか調べる(Containsメソッド)
Dim strList As New List(Of String)(New String() {"A", "B", "C"})
If strList.Contains("B") Then
Console.WriteLine("True:ある")
Else
Console.WriteLine("False:なし")
End If
指定した要素のインデックスを取得する(IndexOfメソッド)
Dim strList As New List(Of String)
strList.Add("A")
strList.Add("B")
strList.Add("C")
Console.WriteLine(strList.IndexOf("B")) ' 実行結果:1
Listを操作する
指定した位置に要素を追加する(Insertメソッド)
Dim strList As New List(Of String)
strList.Add("A")
strList.Add("B")
strList.Add("C")
' リストの2番目に要素を追加
strList.Insert(1, "AA")
For Each ls As String In strList
Console.WriteLine(ls)
Next
' 実行結果:A、AA、B、C
指定して位置の要素を変更する
Dim strList As New List(Of String)
strList.Add("A")
strList.Add("B")
strList.Add("C")
' リストの2番目の要素を変更
strList(1) = "b"
For Each ls As String In strList
Console.WriteLine(ls)
Next
' 実行結果:A、b、C
指定した位置の要素を削除する(RemoveAtメソッド)
Dim strList As New List(Of String)
strList.Add("A")
strList.Add("B")
strList.Add("C")
' リストの2番目の要素を削除
strList.RemoveAt(1)
For Each ls As String In strList
Console.WriteLine(ls)
Next
' 実行結果:A、C
指定した位置の範囲の要素を削除する(RemoveRangeメソッド)
Dim strList As New List(Of String)
strList.Add("A")
strList.Add("B")
strList.Add("C")
strList.Add("D")
' 1番目から2番目の要素を削除する
strList.RemoveRange(0, 2)
For Each ls As String In strList
Console.WriteLine(ls)
Next
' 実行結果:C、D
指定した値の要素を削除する(Removeメソッド)
Dim strList As New List(Of String)
strList.Add("A")
strList.Add("B")
strList.Add("C")
strList.Add("B")
' 最初に見つかった要素を削除する
strList.Remove("B")
For Each ls As String In strList
Console.WriteLine(ls)
Next
' 実行結果:A、C、B
全ての要素を削除する(Clearメソッド)
Dim strList As New List(Of String)
strList.Add("A")
strList.Add("B")
strList.Add("C")
' リストの全ての要素を削除
strList.Clear()
Console.WriteLine(strList.Count) ' 実行結果:0
要素を昇順でソートする(Sortメソッド)
Dim strList As New List(Of String)
strList.Add("C")
strList.Add("A")
strList.Add("D")
strList.Add("B")
' 昇順でソートする
strList.Sort()
For Each ls As String In strList
Console.WriteLine(ls)
Next
' 実行結果:A、B、C、D
要素を降順でソートする(Reverseメソッド)
要素を降順でソートするには、昇順でソートされていないと降順でソートされません。
Dim strList As New List(Of String)
strList.Add("C")
strList.Add("A")
strList.Add("D")
strList.Add("B")
' 昇順でソートする
strList.Sort()
' 降順でソートする
strList.Reverse()
For Each ls As String In strList
Console.WriteLine(ls)
Next
' 実行結果:D、C、B、A
以上、VB.NETのListクラスの操作について解説しました。