Language/Dart

Dart 문법 - 컬렉션 (List와 기본 함수)

달별선장 2024. 11. 5. 20:53
728x90

List : 0번째 index 부터 시작

사용 예시 :

void main() {
  
  // 컬렉션 (List)
  List<String> nameList = ['First', 'Second', 'Third'];
  
  // add()
  nameList.add('Added Name');
  print(nameList[3]); // Added Name

  // where()
  final newNameList = nameList.where((w) => w == 'First' || w == 'Second');
  print(newNameList);    // (iterable.. 추상클래스) (First, Second)
  print(newNameList.toList()); // (다시 List로 변경) [First, Second]  

  // map()
  var mapNameList = nameList.map((name) => 'AAA $name');
  // [AAA First, AAA Second, AAA Third, AAA Added Name]
  print(mapNameList.toList());
  
  // reduce()
  // 단, 같은 타입이어야만 증분연산한다. 
  // 반환 타입은 리스트 내부의 각 요소의 타입이다. (이전까지는 Iterable 타입)
  final allNames = nameList.reduce((value, element) => value + ', ' + element);
  // First, Second, Third, Added Name
  print(allNames);
  
  // fold()
  // 리스트 각 요소들의 타입이 서로 달라도 증분연산 가능
  // 첫 번째 매개변수에 시작할 값을 지정
  final foldName = nameList.fold(0, (value, element) => value + element.length);
  // 26
  print(foldName);
}
728x90