List<Map<String, dynamic>>은 Dart 프로그래밍 언어에서 사용되는 복합 타입 표현입니다. 여기서 각 구성 요소의 의미를 살펴보겠습니다.
List: Dart에서 리스트는 순서를 유지하는 일련의 항목입니다. 리스트는 배열과 유사하게 사용할 수 있으며, 다양한 길이와 타입의 원소를 저장할 수 있습니다.
Map: Dart에서 맵은 키와 값을 쌍으로 저장하는 구조입니다. 맵은 파이썬의 사전, 자바의 해시맵, 자바스크립트의 객체 등과 유사합니다. 맵에서 키는 고유해야하며 일반적으로 문자열 또는 숫자로 사용됩니다.
String: 문자열 타입으로 텍스트를 나타냅니다.
dynamic: dynamic은 Dart의 동적 타입 나타냅니다. 변수에 어떤 타입의 값이든 할당할 수 있으며, 컴파일 타임이 아니라 런타임에 타입 검사가 수행됩니다.
따라서 List<Map<String, dynamic>>은 문자열 키와 동적 값 쌍으로 구성된 맵을 원소로 갖는 리스트를 나타냅니다. 이러한 구조는 데이터베이스 쿼리 결과를 표현하는 데 유용하며, 여러 레코드의 정보를 동시에 저장하고 처리하는 데 사용됩니다. 각 맵은 레코드의 열과 해당 값이 쌍을 이룹니다.
예를 들어, 다음과 같은 데이터가 있다고 가정해봅시다:
id | name | age
1 | Alice | 30
2 | Bob | 25
3 | Carol | 28
이 데이터를 List<Map<String, dynamic>> 형태로 표현하면 다음과 같습니다:
[
{'id': 1, 'name': 'Alice', 'age': 30},
{'id': 2, 'name': 'Bob', 'age': 25},
{'id': 3, 'name': 'Carol', 'age': 28},
]
List<Map<String, Dynamic>> 의 의미는 문자열(String) 키와 Dynamic 한 값의 쌍의 Map 으로 이루어진 List 이다.