2008-11-26 19 views

Respuesta

39

Sí, los elementos siempre se agregan al final (a menos que especifique lo contrario, por ejemplo, con una llamada al Insert). En otras palabras, si lo hace:

int size = list.Count; 
int index = list.Add(element); 
Assert.AreEqual(size, index); // Element is always added at the end 
Assert.AreEqual(element, list[index]); // Returned index is position in list 

La posición cambiará si se quita los elementos anteriores o insertar nuevos elementos por delante de él, por supuesto.

¿Hay alguna buena razón para que use ArrayList en lugar de List<T> por cierto? colecciones no genéricas son tan 2003 ...

(El orden es estable en List<T> así, por cierto.)

+2

"colecciones no genéricas son tan 2003 ..." - LOL, bonita Jon, que está subiendo como mi cita de la semana :) –

6

Sí, lo es, a menos que alguna parte de su código cambie el orden, p. intercambiando

2

Sí. [límite de longitud de respuesta tonto]

0

Cuando agrega un elemento a una lista de arreglos, el elemento siempre permanecerá en ese índice. A menos, por supuesto, si lo cambias.

(el marco podría reorganizar la memoria, pero su índice permanecerá siempre la misma)

4

Sí, lo es. Dado que está almacenado como una matriz.

Otras propiedades son

  • fin garantizado
  • de acceso aleatorio. Puede acceder a cualquier elemento por índice en O (1)
  • Insertar y eliminar lentamente al principio y al medio.
  • Sin clasificar. (Clasificación deben tomar O (n log n) utilizando la clasificación rápida o similar)
Cuestiones relacionadas