개념
- Object클래스를 데이터로 받는 자료형
- Object클래스를 데이터로 받기 때문에 사용 할 때마다 캐스팅을 해야함
(캐스팅을 자주 하는 것은 성능 저하에 한몫 함 )
- Array처럼 Index를 가지고 있고 List처럼 Add()를 통해 추가
- system.Collections에 있어서 사용하려면 using을 해야함
- 각 자료마다 index를 갖고 있기 때문에 Array처럼 검색이 빠름
- 데이터의 추가, 삭제, 갱신을 위해 임시 배열을 생성해 데이터를 복사해놓기 때문에 자료가 많아질수록 성능 저하가 발생
- get(int index)를 사용해 O(1)의 시간 복잡도를 가진다.
사용 목적
- Array와 List는 명확하게 데이터 형식을 정하고 사용하는데 int형은 int만, string형은 string만 담을 수 있다.
- 반면, ArrayList는 int, string 등 서로 다른 데이터 형식을 담을 수 있어 데이터 형식이 서로 다르게 사용되어야할 때 사용한다.
사용 예시
using System.Collections;
int i = 0;
string str = "0";
ArrayList arrayList = new ArrayList();
arrayList.Add(i);
arrayList.Add(str);
int intData = (int)arrayList[0];
int stringData = (string)arrayList[1];
System.Console.WriteLine("intData : " + intData.ToString());
System.Console.WriteLine("stringData : " + stringData);
Array 링크
List 링크
'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글
Queue (큐) (2) | 2020.04.10 |
---|---|
Array와 ArrayList의 차이 (0) | 2020.04.09 |
List (리스트) (0) | 2020.04.09 |
Override (오버라이드) (0) | 2020.04.08 |
Array (배열) (0) | 2020.04.06 |