Software/Flutter, Dart

[Dart] Collection(컬렉션) : List, add(), where()

I-Developer 2025. 1. 20. 23:41

컬렉션(Collection)은 여러 값을 하나의 변수에 저장할 수 있는 타입이다. List, Map, Set이 있다. 

여러 값을 순서대로 저장하는 것을 List라고 한다. 

 

List 기본 소스코드

void main() {

  List<String> testList = ['Apple', 'MicroSoft', '네이버', '카카오'];
  
  print(testList);
  print(testList[1]);
  print(testList[3]);
  
  print(testList.length);
  
  testList[1] = '한컴';
  print(testList);  
}


[Apple, MicroSoft, 네이버, 카카오]
MicroSoft
카카오
4
[Apple, 한컴, 네이버, 카카오]

 

 

List.add()함수

기존 리스트에서 값을 추가할 때, 아래와 같이 사용한다. 

void main() {
  List<String> testList = ['Apple', 'MicroSoft', '네이버', '카카오'];
  
  print(testList);
  print(testList[1]);
  print(testList[3]);
  
  print(testList.length);
  
  testList[1] = '한컴';
  print(testList);  
  
  testList.add("배민");
  print(testList);  
}


[Apple, MicroSoft, 네이버, 카카오]
MicroSoft
카카오
4
[Apple, 한컴, 네이버, 카카오]
[Apple, 한컴, 네이버, 카카오, 배민]

 

 

List.where()함수

기존 리스트에서 순서대로 순회하면서 특정 조건에 맞는 값만 필터링 하는데 사용한다. 

void main() {
  List<String> testList = ['Apple', 'MicroSoft', '네이버', '카카오'];
  
  final newList1 = testList.where( (name) => name == 'MicroSoft');   
  print(newList1);
  print(newList1.toList());  
  
  final newList2 = testList.where( (name) => name == 'MicroSoft' || name == '카카오');
  print(newList2);
  print(newList2.toList());  
}


(MicroSoft)
[MicroSoft]
(MicroSoft, 카카오)
[MicroSoft, 카카오]

 

List.where() 함수 반환은 Iterable(이터러블)로 반환된다. toList()함수를 사용하여 List로 변경한다. 

(name) => name == 'MicroSoft'와 같은 코드는 람다함수이다. 

 

람다 함수 : (매개변수) => 단 하나 스테이트먼트

 

where()에서 기존리스트 순회하면서

리스트에 있는 값을 (name) 매개변수로 받아서 name == 'MicroSoft'와 같으면 반환

정도로 설명할 수 있다.