본문 바로가기

프로그래밍/기본기ㆍ자료구조

ArrayList (배열리스트)

728x90
반응형

 

개념

- 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