더북(TheBook)

연관 배열: 보조 바퀴를 떼어버리자

연관 배열은 배열과 같은 데이터 구조지만, 정수 인덱스만 사용하거나 같은 데이터 타입으로 된 값만 넣을 수 있다는 제약은 없다. 예를 들어 다음과 같은 형태도 사용할 수 있다.


exampleAssociativeArray['Pi'] = 3.1415
exampleAssociativeArray['CapitalFrance'] = 'Paris'
exampleAssociativeArray['ToDoList'] = { 'Alice' : 'run reports; meeting with Bob',
  'Bob' : 'order inventory; meeting with Alice' }
exampleAssociativeArray[17234] = 34468

연관 배열은 식별자와 값에 임의의 값을 사용할 수 있도록 배열을 확장한 것이다(그림 3-2). 앞서 살펴본 예처럼 키는 문자나 정수가 될 수 있다. 프로그래밍 언어나 데이터베이스 종류에 따라 더 복잡한 데이터 구조(리스트 형태)의 키를 사용하는 연관 배열도 있다.

▲ 그림 3-2 연관 배열의 특성은 배열과 일부분 같지만, 키와 값에 대한 제약이 적다는 점이 다르다


연관 배열에 저장된 값은 다를 수도 있다. 직전의 예를 보면 연관 배열 값으로 실수, 문자열, 리스트, 정수가 사용되었다. 일반적으로 식별자가 키로 사용된다. 이미 눈치챘겠지만, 연관 배열은 키-값 데이터베이스 개념의 토대가 된 기본 데이터 구조다.

Note 연관 배열은 사전(딕셔너리), 맵, 해시 맵, 해시 테이블, 심볼 테이블과 같이 여러 가지 이름으로 불린다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.