Este breve resumen puede servir de guía a la hora de elegir lacolección más apropiada en nuestras aplicaciones. No es gran cosa peroda pistas.
Referente al uso que se le puede dar a cada colecciónincluida en el espacio de nombres System.Collections podríamosdividirlo de este modo:
1- Colecciones de acceso por un índice numérico.
2- Colecciones almacenadas con pares de clave-valor.
3- Colecciones tipo ‘colas’.
Dentrode estas categorías, podemos hacer dos divisiones más, en función de sivamos a utilizar las colecciones de .NET “directamente” o si vamos autilizarlas para crear colecciones personalizadas.
1.1- Colecciones de “uso directo” con acceso por un índice numérico.
-
ArrayList: Siempreque queramos almacenar datos como en una matriz pero con la ventaja deaumentar el número de elementos dinámicamente deberíamos utilizar estacolección.
-
BitArray: Colección muy concreta que almacena valores de bit representados como valores boléanos.
1.2- Colecciones para crear nuestras propias colecciones con acceso por un índice numérico.
-
CollectionBase: Permite modificar los elementos de nuestra colección.
-
ReadOnlyCollectionBase: Una versión de la anterior de solo lectura.
2.1- Colecciones de “uso directo” almacenando los datos con pares de clave-valor.
-
Hashtable: Se puede acceder a los valores de los elementos solamente por medio de la clave.
NOTA:Esta clase es la única de System.Collections que expone funcionabilidadpara controlar la serialización y la deserialización.
-
SortedList: Esta colección permite tener acceso a los valores de los elementos tanto por la clave como por índice.
2.2- Colecciones para crear nuestras propias colecciones con almacenamiento por pares de clave-valor.
-
DictionaryBase.3- Colecciones tipo colas.
-
Queue: Primeroen entrar primero en salir (FIFO). Utilizar cuando necesitemosalmacenar una cantidad definida de datos en el orden que son creados.
-
Stack: Ultimo en entrar primero en salir (LIFO).