문제

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에 항목을 추가하면 항목이 항상 해당 색인에 유지됩니다. 물론 변경하지 않는 한.

(프레임 워크는 메모리를 재 배열 할 수 있지만 인덱스는 항상 동일하게 유지됩니다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top