IEnumerable, IList, ICollection

De Banane Atomic
Aller à la navigationAller à la recherche

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

Héritage

  • IEnumerable<T>
    • GetEnumerator()
  • ICollection<T> : IEnumerable<T>, IEnumerable
    • Count
    • Add / Remove / Clear
    • Contains
  • IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
    • IndexOf
    • Insert / RemoveAt