🤔 컬렉션?
컬렉션은 자료를 모아 놓은 데이터 구조를 의미한다.
- 컬렉션은 배열과 비슷한 자료 구조
- 배열과는 다르게 크기가 가변적이다.
- C#에서는 다양한 종류의 컬렉션을 제공한다.
- 사용하기 위해서는
System.Collections.Generic
네임스페이스 추가
List
- 리스트는 가변적인 크기를 갖는 배열
- 리스트를 생성할 때는 리스트에 담을 자료형을 지정
List 선언하기
Dictionary
- 딕셔너리는 키와 값으로 구성된 데이터를 저장한다.
- 딕셔너리는 중복된 키를 가질 수 없으며, 키와 값의 쌍을 이루어 데이터를 저장한다.
Dictionary 선언하기
Stack
- 스택은 후입선출(LIFO) 구조를 가진 자료 구조
Stack 선언하기
Queue
- 큐는 선입선출(FIFO) 구조를 가진 자료 구조
Queue 선언하기
HashSet
- 해시셋은 중복되지 않은 요소들로 이루어진 집합
HashSet 선언하기
배열과 리스트의 차이
배열과 리스트의 차이를 알고 적절히 사용하자!!
배열과 리스트
리스트는 동적으로 크기를 조정할 수 있어 배열에 비해 유연하게 데이터 구조를 선언할 수 있다. 하지만, 리스트를 무분별하게 사용하는 것을 좋지 않다.
- 메모리 사용량 증가
리스트는 동적으로 크기를 조정하기 때문에 배열보다 많은 메모리를 사용한다. 따라서, 많은 데이터를 다루는 경우 리스트는 성능 저하를 유발할 수 있다.
- 데이터 접근 시간 증가
리스트는 Linked List로 구현되기 때문에, 인덱스를 이용한 접근이 배열보다 느리다.
- 코드 복잡도 증가
리스트를 사용할 때는 데이터 추가, 삭제 등의 작업을 적절히 처리하는 코드를 작성해야 하기 때문에, 코드의 가독성과 유지 보수성이 저하될 수 있다.