Aller au contenu

Programmation Visual Basic .NET/Collections

Un livre de Wikilivres.

Une collection est comme un tableau qui pourrait stocker plusieurs types d'entrées. De plus certaines collections ont leurs propres méthodes.

Par exemple pour tout objet Collection, il existe les méthodes :

  • Add()
  • Remove()
  • Item()
  • Clear()

ArrayList est un tableau dynamique, sa taille varie automatiquement selon son contenu, et peut stocker des objets de différents types.

La méthode System.Collections.ArrayList.Add(Object) peut incrémenter des ArrayList :

   Module Module1
   Sub Main()
       Dim Tableau1 As System.Collections.ArrayList = New ArrayList()
       Tableau1.add(New String("a"))
       Tableau1.add(New String("b"))
       Tableau1.add(New String("c"))
       Tableau1.add(New String("d"))
       Console.WriteLine(Tableau1(0))
       Console.WriteLine("Presser entrée pour continuer")
       Console.ReadLine()
   End Sub
   End Module

Une queue est une collection FIFO, elle a deux uniques méthodes pour empiler et dépiler ses informations. En utilisant System.Collections.Queue.Enqueue, un objet peut être ajouté à la fin de la collection, et retiré s'il est au début via System.Collections.Queue.Dequeue.

Une pile (stack en anglais) est une collection en LIFO. Elle prend en charge trois méthodes de stockage et restitution de l'information.

Utiliser System.Collections.Stack.Push pour ajouter un objet au sommet de la pile, poussant celui qui s'y retrouvait en-dessous.

System.Collections.Stack.Pop renvoi l'objet su sommet de la pile et le retire.

System.Collections.Stack.Peek est similaire à Pop sauf qu'il ne retire pas l'objet renvoyé.

Une SortedList est une collection d'objets classée selon un index (comme pour les tableaux) et aussi une clé, pouvant adopter n'importe quel type.

Tableau à au moins deux colonnes dont une clé.

Dictionnaire dont la clé est issue d'une fonction de hachage.

Les Generics permettent de stocker des objets de types plus spécifiques, comme String et Integer.

Une List(d'un type) donne accès à un ensemble d'entrée comme un tableau, ou comme une collection.

       Dim Jours As New List(Of String)
       Jours.Add("Lundi")
       Jours.Add("Mardi")
       Jours.Add("Mercredi")
       Jours.Add("Jeudi")
       Jours.Add("Vendredi")
       
       Console.WriteLine("Accès aux membres par index...")
       For i As Integer = Jours.Count - 1 To 0 Step -1
           Console.WriteLine(Jours(i))
       Next i
       Console.WriteLine("Accès aux membres par collection...")
       For Each j As String In Jours
           Console.WriteLine(j)
       Next j