C#
[C#] List
unihee1
2025. 2. 11. 20:49
1. List란?
배열과 유사하지만 크기가 동적으로 조정될 수 있는 자료구조이다.
2. List 선언 및 초기화
List<자료형> 변수명 = new List<자료형>(); -> 선언
List<자료형> 변수명 = new List<자료형>{리스트에 들어갈 데이터}; ->초기화
3. 기본적인 메소드
- 요소 추가 (Add)
리스트명.Add(10);
- 여러 요소 한 번에 추가 (AddRange)
리스트명.AddRange(new int[] { 데이터 값 });
- 특정 위치에 요소 삽입 (Insert)
리스트명. Insert(1, 15);
- 요소 제거 (Remove, RemoveAt, RemoveRange)
리스트명.Remove(n); // 값이 n인 첫 번째 요소 제거
리스트명.RemoveAt(n); // n번 인덱스 요소 제거
리스트명.RemoveRange(n, n2); // 인덱스 n부터 n2개의 요소 제거
- 리스트 검색 (Contains, IndexOf, Find)
자료형 변수명 = 리스트변수명.Contains(n); // n이 있는지 확인
자료형 변수명 = 리스트변수명. IndexOf(n); // n의 인덱스 찾기
자료형 변수명 = 리스트변수명. Find(x => x > 25); // 특정 조건에 맞는 첫 번째 요소 찾기
- 리스트 정렬 (Sort, Reverse)
리스트명.Sort(); // 오름차순 정렬
리스트명.Reverse(); // 내림차순 정렬
4. 다차원 리스트
2D 배열과 유사하며 동적으로 크기를 조절할 수 있다.
List<List<자료형>> 리스트명 = new List<List<자료형>>()
{
new List<int> { 데이터 값 },
new List<int> { ......},
new List<int> { ......}
};
5. 리스트와 배열
특징 | 리스트 | 배열 |
크기 변경 | 가능 | 불가능 |
요소 변경 | Add(), Remove() 등 제공 | 불가능(새 배열 할당 필요) |
성능 | 일반적으로 배열보다 느림 | 빠름(메모리 연속 할당) |
6. 리스트의 장점
- 크기 조절이 가능하다
- 요소 추가 및 삭제가 쉽
- 가변 길이 2D 구조를 쉽게 만들 수 있다
- 다양한 기능을 제공하여 데이터 조작이 훨씬 쉽다.
- 컬렉션 기반 개발과 호환성이 좋다.