프로그래밍 언어/Dart

Dart 리스트 사용법. 생성부터 추가, 제거, 정렬까지 완벽 가이드 - Dart 기초 #13

eco7T 2024. 6. 17. 07:47
반응형

이번에는 Dart 프로그래밍 언어 중 리스트(List)의 개념과 사용법을 설명하겠습니다. 리스트의 생성, 추가, 제거, 접근, 순회, 정렬, 값 찾기 등 다양한 기능을 예제 코드와 함께 설명하여 프로그래밍 중 실제로 활용할 수 있도록 하였습니다.

Dart 리스트 사용법
Dart 리스트 사용법

 

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 }

 

리스트는 매우 유용하고 강력한 도구이므로 다양한 프로젝트에서 자주 사용될 것입니다. 

반응형