반응형
#참고 링크 - 배열, 리스트
https://opentutorials.org/module/1335/8677
https://opentutorials.org/module/1335/8636
배열(Array)
- 자료형[] 변수명 = new 자료형[배열크기숫자];
- 여러 값을 하나의 자료형으로 다룰 수 있는 타입
- 연속된 메모리 공간으로 이루어져 있다.
- 인덱스를 갖는다.
- 인덱스는 0부터 시작한다.
- 인덱스를 활용하여 값을 빠르게 조회가 가능하다.
- 반복문과 결합하면 많은 정보도 효율적으로 처리할 수 있다.
- 배열의 크기는 초기에 지정할 수 있고 이후 크기를 변경할 수 없다.
- 새로운 배열을 선언하여 크기를 키우고 값을 옮겨야 한다.
- 배열은 인덱스에 따라서 값을 유지하기 때문에 엘리먼트가 삭제되어도 빈자리(null)가 남게된다.
(불필요한 메모리차지) - 배열을 이용해서 리스트를 구현한 것은 ArrayList
- 배열 인덱스 개수는 배열변수값.Length로 이용가능
리스트(List)
- List<자료형> 변수명 = new List<자료형>();
- 배열처럼 여러 값을 하나의 변수에 할당할 수 있는 타입
- 배열과 달리 저장 공간의 크기가 자유롭게 변한다.
- 빈틈없는 데이터 적재 = 빈 엘리먼트가 없다.
- 리스트에도 인덱스가 있다.
- 불연속적으로 메모리 공간을 차지
- 리스트는 사용할 데이터의 총 개수를 미리 알 수 없거나, 데이터가 실시간으로 변경되는 경우에 사용한다.
- 검색이 좋지 않다.
- 데이터 개수가 확실하게 정해져 있고 자주 사용된다면 배열이 효율적이다.
- List 인덱스 개수는 리스트변수값.Count로 이용가능
간단 정리
구분 | 데이터 크기 | 저장 공간 크기 변경(추가, 삭제) | 검색 효율 |
배열 | 정해짐 | 불가 | 효율적 |
리스트 | 안 정해짐 | 가능 | 비효율적 |
반응형
댓글