맵은 키(Key)와 값(Value)을 연결하는 객체입니다. 키와 값은 어떤 타입의 객체든 사용할 수 있습니다. 키는 고유한 값으로 중복을 허용하지 않지만, 값은 동일한 값이 중복으로 사용되는 것을 허용합니다. Dart에서는 Map 타입을 통해 맵을 지원하며 리터럴 표현식도 지원합니다.
맵에 키와 값을 추가할때는 맵객체[키] = 값을 사용합니다. 맵객체[키]를 사용하여 값을 조회할 수 있습니다. 맵에 조회 시 키가 존재하지 않을 경우 null을 반환합니다. length 속성을 이용하여 맵의 항목 수를 조회할 수 있습니다.
voidmain() {var gifts = {'first':'partridge'};// 키와 값을 추가합니다. gifts['fourth'] ='calling birds';// 키로 값을 조회할 수 있습니다.assert(gifts['first'] =='partridge');// Map에 키가 존재하지 않으면 null을 반환합니다.assert(gifts['fifth'] ==null);// Map의 항목수를 조회합니다.assert(gifts.length ==2);}
Map 리터럴 앞에 const 키워드를 붙이면 컴파일 타임 상수로 선언할 수 있습니다. Map 타입도 List 타입과 같이 전개 연산자와 collection if, for를 사용할 수 있습니다.