C# 리스트(List) 사용하기: 선언, 초기화, 접근 방법 및 주요 메서드
C#에서 List는 제네릭 컬렉션의 일부로, 동적으로 크기가 조정되는 배열입니다. 이번 글에서는 C#에서 리스트의 기본 개념, 리스트를 선언하고 초기화하는 방법, 리스트의 원소에 접근하는 방법, 리스트에서 자주 사용되는 주요 메서드에 대해 알아보겠습니다.
1. 리스트의 기본 개념
List<T>는 동일한 타입의 여러 요소를 저장하는 데이터 구조입니다. List는 배열과 마찬가지로 각 요소에 인덱스를 사용하여 접근할 수 있지만, 크기가 동적으로 변경될 수 있다는 점에서 배열과 다릅니다.
2. 리스트 선언하기
C#에서 리스트를 선언하는 방법은 매우 간단합니다. List 키워드 다음에 저장할 데이터의 타입을 지정합니다.
List<int> numbers;
이 코드는 정수형 리스트인 numbers를 선언합니다.
3. 리스트 초기화하기
리스트를 선언한 후에는 new 키워드를 사용하여 초기화할 수 있습니다.
numbers = new List<int>();
이 코드는 앞서 선언한 numbers 리스트를 초기화합니다.
또한, 리스트 선언과 동시에 초기화를 진행하는 것도 가능합니다.
List<int> numbers = new List<int>(); // 빈 리스트 초기화
List<int> numbers = new List<int>{1, 2, 3, 4, 5}; // 선언과 동시에 값으로 초기화
4. 리스트의 원소에 접근하기
리스트의 원소에 접근하기 위해서는 인덱스를 사용합니다. C#에서 리스트의 인덱스는 0부터 시작합니다.
numbers.Add(10);
Console.WriteLine(numbers[0]); // 출력: 10
이 코드는 리스트에 첫 번째 요소로 10을 추가하고, 그 값을 출력합니다. 리스트에 원소를 추가하려면 항상 Add 메서드를 사용해야 합니다. 이 메서드는 리스트의 끝에 요소를 추가합니다.
▼ 예제: 리스트에 각 원소에 1부터 10까지의 숫자를 할당 후 출력
List<int> numbers = new List<int>();
// 리스트에 1부터 10까지의 숫자 할당
for (int i = 0; i < 10; i++)
{
numbers.Add(i + 1);
}
// 리스트의 모든 원소 출력
for (int i = 0; i < numbers.Count; i++)
{
Console.WriteLine(numbers[i]);
}
// 출력: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
이 예제에서는 첫 번째 for문을 사용하여 리스트에 1부터 10까지의 숫자를 할당하고, 두 번째 for문을 사용하여 리스트의 모든 원소를 출력하였습니다. 이때, numbers.Count를 사용하여 리스트의 길이를 구할 수 있습니다. 리스트에 요소를 추가할 때는 Add 메서드를 사용합니다.
5. 리스트의 주요 메서드
C#의 List 클래스는 다양한 메서드를 제공하여 리스트의 원소를 조작하는 데 도움이 됩니다. 주요 메서드에 대해 알아보겠습니다.
1. Add: 원소를 리스트의 끝에 추가합니다.
List<int> numbers = new List<int>();
numbers.Add(1);
Console.WriteLine(numbers[0]); // 출력: 1
2. Remove: 특정 원소를 리스트에서 제거합니다. 원소가 여러 개 있는 경우 가장 먼저 나오는 원소만 제거됩니다.
List<int> numbers = new List<int> {1, 2, 1, 3};
numbers.Remove(1);
Console.WriteLine(numbers[0]); // 출력: 2
3. RemoveAt: 지정한 인덱스의 원소를 리스트에서 제거합니다.
List<int> numbers = new List<int> {1, 2, 3};
numbers.RemoveAt(0);
Console.WriteLine(numbers[0]); // 출력: 2
4. Sort: 리스트의 원소를 오름차순으로 정렬합니다.
List<int> numbers = new List<int> {3, 1, 2};
numbers.Sort();
Console.WriteLine(numbers[0]); // 출력: 1
5. Reverse: 리스트의 원소를 역순으로 배치합니다.
List<int> numbers = new List<int> {1, 2, 3};
numbers.Reverse();
Console.WriteLine(numbers[0]); // 출력: 3
6. Find: 주어진 조건에 맞는 첫 번째 원소를 찾습니다. 조건은 람다 식으로 제공됩니다.
List<int> numbers = new List<int> {1, 2, 3};
int found = numbers.Find(x => x > 1);
Console.WriteLine(found); // 출력: 2
참고 자료
- Microsoft 공식 문서: C# 리스트 (https://learn.microsoft.com/ko-kr/dotnet/api/system.collections.generic.list-1?view=net-6.0)
함께 보면 좋은 이전 게시글
- C# 배열 사용하기: 선언, 초기화, 접근 방법
- C# 변수와 상수 이해하기: 선언, 할당, 사용
- C# 반복문 사용하기: foreach문
- C# 조건문 사용하기: switch문
- C# 기본 연산자 사용하기: 문자열 연결, 증감, 할당 연산자
이 글이 도움이 되셨다면 공유 부탁 드립니다.