C#.NET에서 ArrayList의 순서가 보장됩니까?
문제
C#.NET에서 ArrayList를 사용하는 경우 주문이 항목을 추가하는 순서와 동일하게 보장됩니까?
해결책
예, 요소는 항상 끝에 추가됩니다 (다른 달리 지정하지 않는 한, 예를 들어 끼워 넣다). 다시 말해, 당신이하는 경우 :
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
물론 이전 요소를 제거하거나 새로운 요소를 앞서 삽입하면 위치가 변경됩니다.
당신이 사용할 좋은 이유가 있습니까? ArrayList
보다는 List<T>
그런데? 비 게 니커 컬렉션입니다 그래서 2003...
(주문은 안정적입니다 List<T>
그건 그렇고,)
다른 팁
예, 코드의 일부가 예를 들어 교환하여 주문을 변경하지 않는 한입니다.
네입니다. 배열로 저장되므로.
다른 속성이 있습니다
- 보장 된 주문
- 무작위 액세스. O (1)의 색인 별 요소에 액세스 할 수 있습니다.
- 시작과 중간에 삽입하고 삭제하십시오.
- 분류되지 않은. (정렬은 QuickSort 또는 이와 유사한 QuickSort를 사용하여 O (n log n)를 사용해야합니다)
예. [어리석은 답변 길이 한도
Arraylist에 항목을 추가하면 항목이 항상 해당 색인에 유지됩니다. 물론 변경하지 않는 한.
(프레임 워크는 메모리를 재 배열 할 수 있지만 인덱스는 항상 동일하게 유지됩니다)
제휴하지 않습니다 StackOverflow