개념
- 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 링크
Array (배열)
배열 (일차원, 다차원) 크기가 고정적이며 인덱스(데이터의 순서)를 통하여 접근하고 메모리 관리가 쉽다. 메모리 주소가 연속성을 지니고 있어 검색할 때 빠르지만, 삽입/삭제가 느리고(사실상 불가능) 한 데이터..
chipmunk-plump-plump.tistory.com
List 링크
List (리스트)
개념 - 자료구조를 공부할때 배열과 마찬가지로 가장 기본적인 자료형 - 비슷한 특성을 가진 자료들을 연결 해놓은 것 - 중복된 데이터를 허용하며 데이터를 나란히 저장하는 자료구조. - 순차리스트와 연결리스트..
chipmunk-plump-plump.tistory.com
'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글
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 |