Map

A tour of the Dart language 페이지를 공부하면서 정리한 내용입니다.

키(Key)값(Value)을 연결하는 객체입니다. 은 어떤 타입의 객체든 사용할 수 있습니다. 는 고유한 값으로 중복을 허용하지 않지만, 은 동일한 값이 중복으로 사용되는 것을 허용합니다. Dart에서는 Map 타입을 통해 을 지원하며 리터럴 표현식도 지원합니다.

void main() {
  // Map 리터럴 표현식으로 Map<String, String>으로 타입 추론됩니다.
  var gifts = {
    // 키: 값
    'first': 'partridge',
    'second': 'turtledoves',
    'fifth': 'golden rings'
  };

  // Map<int, String>으로 타입 추론됩니다.
  var nobleGases = {
    2: 'helium',
    10: 'neon',
    18: 'argon',
  };

  // Map 생성자를 이용해서 맵 객체를 생성합니다.
  var gifts = Map<String, String>();
  gifts['first'] = 'partridge';
  gifts['second'] = 'turtledoves';
  gifts['fifth'] = 'golden rings';

  var nobleGases = Map<int, String>();
  nobleGases[2] = 'helium';
  nobleGases[10] = 'neon';
  nobleGases[18] = 'argon';
}

을 추가할때는 맵객체[키] = 값을 사용합니다. 맵객체[키]를 사용하여 을 조회할 수 있습니다. 에 조회 시 가 존재하지 않을 경우 null을 반환합니다. length 속성을 이용하여 의 항목 수를 조회할 수 있습니다.

Map 리터럴 앞에 const 키워드를 붙이면 컴파일 타임 상수로 선언할 수 있습니다. Map 타입도 List 타입과 같이 전개 연산자collection if, for를 사용할 수 있습니다.

Map 타입은 다양한 속성과 메서드를 제공하고 있습니다.

Last updated