이번에는 Dart 프로그래밍 언어 중 리스트(List)의 개념과 사용법을 설명하겠습니다. 리스트의 생성, 추가, 제거, 접근, 순회, 정렬, 값 찾기 등 다양한 기능을 예제 코드와 함께 설명하여 프로그래밍 중 실제로 활용할 수 있도록 하였습니다.
Dart 리스트(List)
Dart에서 리스트는 여러 개의 값을 하나의 변수에 저장할 수 있는 매우 유용한 데이터 구조입니다. 리스트는 다른 언어에서 배열(array)로 불리는 것과 유사하지만, 더 많은 기능과 유연성을 제공합니다. 이 단원에서는 리스트의 기본 사용법과 다양한 예제를 통해 리스트를 어떻게 사용하는지 설명하겠습니다.
리스트란 무엇인가요?
리스트는 순서가 있는 값들의 모음입니다. 각각의 값은 인덱스라는 숫자에 의해 접근할 수 있으며, 인덱스는 0부터 시작합니다. 예를 들어, 3개의 값을 가진 리스트는 인덱스 0, 1, 2를 가집니다.
리스트 생성하기
리스트를 생성하는 방법은 매우 간단합니다. List 키워드를 사용하고, 대괄호( [ ] ) 안에 값들을 넣어서 리스트를 만듭니다.
void main() {
// 정수형 리스트 생성
List<int> numbers = [1, 2, 3, 4, 5];
print(numbers); // [1, 2, 3, 4, 5]
// 문자열 리스트 생성
List<String> fruits = ['Apple', 'Banana', 'Cherry'];
print(fruits); // [Apple, Banana, Cherry]
// 비어 있는 리스트 생성
List<double> emptyList = [];
print(emptyList); // []
}
리스트에 값 추가하기
리스트에 값을 추가하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 add 메서드를 사용하는 것입니다.
void main() {
List<String> fruits = ['Apple', 'Banana'];
// 단일 값 추가
fruits.add('Cherry');
print(fruits); // [Apple, Banana, Cherry]
// 여러 값 추가
fruits.addAll(['Durian', 'Elderberry']);
print(fruits); // [Apple, Banana, Cherry, Durian, Elderberry]
}
리스트에서 값 제거하기
리스트에서 값을 제거하는 방법도 여러 가지가 있습니다. remove 메서드를 사용하면 특정 값을 제거할 수 있고, removeAt 메서드를 사용하면 특정 인덱스의 값을 제거할 수 있습니다.
void main() {
List<String> fruits = ['Apple', 'Banana', 'Cherry'];
// 특정 값 제거
fruits.remove('Banana');
print(fruits); // [Apple, Cherry]
// 특정 인덱스의 값 제거
fruits.removeAt(0);
print(fruits); // [Cherry]
}
리스트의 길이 구하기
리스트의 길이는 length 속성을 사용하여 구할 수 있습니다.
void main() {
List<String> fruits = ['Apple', 'Banana', 'Cherry'];
print(fruits.length); // 3
}
리스트의 값 접근하기
리스트의 특정 인덱스에 있는 값에 접근하려면 대괄호( [ ] )를 사용하면 됩니다.
void main() {
List<String> fruits = ['Apple', 'Banana', 'Cherry'];
// 첫 번째 값
print(fruits[0]); // Apple
// 두 번째 값
print(fruits[1]); // Banana
// 세 번째 값
print(fruits[2]); // Cherry
}
리스트 반복(순회)하기
리스트의 모든 값을 반복(순회)하는 방법에는 여러 가지가 있습니다. 가장 일반적인 방법은 for 루프나 forEach 메서드를 사용하는 것입니다.
void main() {
List<String> fruits = ['Apple', 'Banana', 'Cherry'];
// for 루프 사용
for (int i = 0; i < fruits.length; i++) {
print(fruits[i]);
}
// forEach 메서드 사용
fruits.forEach((fruit) {
print(fruit);
});
}
리스트 정렬하기
리스트를 정렬하는 방법도 매우 간단합니다. sort 메서드를 사용하여 리스트를 오름차순으로 정렬할 수 있습니다.
void main() {
List<int> numbers = [5, 3, 2, 4, 1];
numbers.sort();
print(numbers); // [1, 2, 3, 4, 5]
}
리스트에서 값 찾기
리스트에서 특정 값을 찾으려면 contains 메서드를 사용할 수 있습니다. 이 메서드는 리스트에 값이 있는지 여부를 확인하여 true 또는 false 를 반환합니다.
void main() {
List<String> fruits = ['Apple', 'Banana', 'Cherry'];
// 값이 리스트에 있는지 확인
bool hasApple = fruits.contains('Apple');
print(hasApple); // true
bool hasOrange = fruits.contains('Orange');
print(hasOrange); // false
}
리스트 활용 예제
리스트는 실제 프로젝트에서 다양하게 활용됩니다. 다음은 몇 가지 실생활 예제입니다.
1. 학생들의 이름 목록을 관리하기
2. 쇼핑 리스트 만들기
3. 숫자들을 모아 평균 구하기
void main() {
// 학생들의 이름 목록 관리
List<String> students = ['John', 'Jane', 'Jim'];
students.add('Jill');
print(students); // [John, Jane, Jim, Jill]
// 쇼핑 리스트 만들기
List<String> shoppingList = ['Milk', 'Eggs', 'Bread'];
shoppingList.addAll(['Butter', 'Cheese']);
print(shoppingList); // [Milk, Eggs, Bread, Butter, Cheese]
// 숫자들을 모아 평균 구하기
List<int> scores = [90, 85, 100, 70, 95];
int total = scores.reduce((a, b) => a + b);
double average = total / scores.length;
print(average); // 88.0
}
리스트는 매우 유용하고 강력한 도구이므로 다양한 프로젝트에서 자주 사용될 것입니다.
'프로그래밍 언어 > Dart' 카테고리의 다른 글
Dart Set 자료구조 이해하기. 셋 만들기와 사용법 - Dart 기초 #15 (0) | 2024.06.19 |
---|---|
Dart Map 사용법 및 예제. 효율적인 데이터 관리를 위한 의 생성과 관리 방법 - Dart 기초 #14 (0) | 2024.06.18 |
Dart에서 믹스인과 익스텐션 사용법: 다중 상속과의 차이점 - Dart 기초 #12 (0) | 2024.06.14 |
Dart에서 추상 클래스와 인터페이스 사용 방법, 클래스 상속과 구현 가이드 - Dart 기초 #11 (0) | 2024.06.13 |
Dart 상속과 다형성: 예제 코드로 배우는 객체 지향 프로그래밍 - Dart 기초 #10 (0) | 2024.06.12 |