Frage

Wenn ich eine Arraylist in C # .NET bin mit, ist die Reihenfolge garantiert die gleiche wie die Reihenfolge bleiben ich Elemente hinzufügen?

War es hilfreich?

Lösung

Ja, werden die Elemente immer bis zum Ende hinzugefügt (es sei denn, Sie nichts anderes angeben, zum Beispiel mit einem Aufruf von Einfügen ). Mit anderen Worten, wenn Sie das tun:

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

Die Position wird sich ändern, wenn Sie irgendwelche früheren Elemente entfernen oder neue Elemente vor sich, natürlich einfügen.

Gibt es einen guten Grund für Sie ArrayList zu verwenden, anstatt List<T> durch die Art und Weise? Nicht generische Sammlungen sind so 2003 ...

(Die Reihenfolge, in List<T> stabil ist auch, übrigens.)

Andere Tipps

Ja, es ist, es sei denn, einige Stück Code den Auftrag, beispielsweise durch Änderungen Swapping.

Ja, es ist. Da es als Array gespeichert wird.

Andere Objekte sind

  • Garantierte Ordnung
  • Random Zugriff. Sie können durch den Index in OS jedes Element zugreifen (1)
  • Langsam Einfügen und Löschen am Anfang und Mitte.
  • unsortiert. (Sortierung soll O nehmen (n log n) mit quicksort oder ähnlich)

Ja. [Dumme Antwort Längenbegrenzung]

Wenn Sie ein Element zu einem Arraylist hinzufügen, wird das Element immer an diesem Index bleiben. Es sei denn natürlich, wenn Sie es ändern.

(der Rahmen könnte den Speicher neu ordnen, aber Ihr Index bleibt immer gleich)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top