« IEnumerable, IList, ICollection » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
Ligne 34 : Ligne 34 :


= Hierarchy =
= Hierarchy =
[[File:ListHierarchy.png|400px]]
[[File:ListHierarchy.png|600px]]

Version du 8 juillet 2021 à 13:51

ArrayList

Implémente l'interface IList à l'aide d'un tableau dont la taille est augmentée de manière dynamique.
Son contenu n'est pas fortement typé.

SortedList

Collection de paires clé/valeur triées par les clés et accessible par clé et par index.

Différences entre SortedList et SortedDictionary:
  • SortedList uses less memory than SortedDictionary.
  • SortedDictionary has faster insertion and removal operations for unsorted data, O(log n) as opposed to O(n) for SortedList.
  • If the list is populated all at once from sorted data, SortedList is faster than SortedDictionary.

Queue

FIFO: file d'attente, le premier élément ajouté est le premier à sortir.

Bash.svg
Queue<int> q = new Queue<int>();
q.Enqueue(0);
q.Enqueue(1);
int i = q.Dequeue();  // 0
int j = q.Dequeue();  // 1

Stack

LIFO: pile, le dernier élément ajouté et le premier à sortir.

Csharp.svg
var s = new Stack<int>();
s.Push(0);
s.Push(1);
int i = s.Pop(); // 1
int j = s.Peek(); // 0
// Peek retourne l'élément du haut de la pile mais sans le supprimer
int j = s.Pop(); // 0

Hierarchy

ListHierarchy.png