Pregunta

Si estoy usando una ArrayList en C # .NET, ¿se garantiza que el pedido seguirá siendo el mismo que el que le agregué?

¿Fue útil?

Solución

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

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 elimina cualquier elemento anterior o inserta nuevos elementos delante de él, por supuesto.

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

(Por cierto, el orden también es estable en <=>).

Otros consejos

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

Sí lo es. Como se almacena como una matriz.

Otras propiedades son

  • Orden garantizada
  • Acceso aleatorio. Puede acceder a cualquier elemento por índice en O (1)
  • Insertar y eliminar lentamente al principio y al medio.
  • Sin clasificar. (La clasificación debe tomar O (n log n) usando quicksort o similar)

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

Cuando agrega un elemento a una ArrayList, el elemento siempre permanecerá en ese índice. A menos, por supuesto, si lo cambia.

(el marco puede reorganizar la memoria pero su índice siempre será el mismo)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top