자료구조 시리즈 3편
2025. 4. 21. 09:10ㆍ개발이야기
728x90
반응형
리스트(List) 완전 이해하기
이전 글에서는 배열(Array)에 대해 알아봤습니다.
이번에는 배열의 한계를 보완한 자료구조, 리스트(List) 에 대해 자세히 정리해봅니다.
1. 리스트란?
리스트는 데이터의 순서를 유지하면서, 크기를 동적으로 조절할 수 있는 자료구조입니다.
- 배열처럼 인덱스를 통해 데이터에 접근 가능
- 필요에 따라 자동으로 크기가 늘어나거나 줄어듬
- 삽입, 삭제가 배열보다 유연함
2. 리스트의 특징
항목 설명
크기 | 동적 (필요에 따라 자동 확장) |
접근 속도 | 인덱스로 빠르게 접근 (O(1)) |
삽입/삭제 속도 | 끝에 추가는 빠름 (O(1)), 중간 삽입/삭제는 느림 (O(n)) |
메모리 사용 | 약간 더 큼 (빈 공간 고려) |
3. 리스트 사용 예시 (C# 기준)
List 선언과 초기화
using System.Collections.Generic;
// 빈 리스트 생성
List<int> numbers = new List<int>();
// 값과 함께 초기화
List<string> fruits = new List<string> { "사과", "바나나", "포도" };
요소 추가
numbers.Add(10);
numbers.Add(20);
요소 접근 및 수정
Console.WriteLine(fruits[0]); // "사과"
fruits[1] = "딸기"; // "바나나"를 "딸기"로 변경
요소 삽입
fruits.Insert(1, "오렌지"); // 1번 인덱스에 "오렌지" 삽입
요소 삭제
fruits.Remove("사과"); // "사과" 제거
fruits.RemoveAt(0); // 0번 인덱스 요소 제거
리스트 순회
foreach (var fruit in fruits)
{
Console.WriteLine(fruit);
}
4. 실생활 예시로 이해하기
- 리스트 = 늘었다 줄었다 하는 책꽂이
- 책을 추가하면 자동으로 공간이 늘어나고
- 책을 빼면 자동으로 공간이 줄어드는 유연한 책장
5. 리스트와 배열 비교
항목 배열(Array) 리스트(List)
크기 | 고정 | 가변 |
삽입/삭제 | 느림 | 상대적으로 빠름 |
메모리 | 작음 | 약간 큼 |
선언 방법 | 간단 | 약간 복잡 (using 필요) |
이번 글에서는 리스트(List) 의 개념, 특징, C# 코드 사용법을 정리했습니다.
- 리스트는 배열의 고정 크기 문제를 해결한 유연한 자료구조입니다.
- 삽입/삭제가 용이해 실무에서도 가장 자주 사용됩니다.
728x90
반응형
'개발이야기' 카테고리의 다른 글
자료구조 시리즈 5편 (0) | 2025.04.21 |
---|---|
자료구조 시리즈 4편 (0) | 2025.04.21 |
자료구조 시리즈 2편 (0) | 2025.04.20 |
자료구조 시리즈 1편 (0) | 2025.04.20 |
[C#] WinForms 파일 관리 앱 최종 (0) | 2025.04.19 |