Dictionary(혹은 HashMap, HashTable)는 Key-Value 형태의 값을 저장할 수 있는 자료구조이다.
자바스크립트의 객체와 같다.
Dictionary 특징
- Set처럼 특정 순서대로 데이터를 리턴하지 않음
- Key의 값이 중복될 수 없으며, 만약 중복된 key가 들어가면 먼저 있던 key와 value를 대체
- 수정 가능(mutable)
Dictionary 구조
- Set과 비슷하게 key값의 해쉬값을 구한 후, 해쉬값에 속해있는 bucket에 값을 저장
- set과 마찬가지로 순서가 없고 중복된 key값은 허용되지 않음
Dictionary 사용
- 데이터베이스처럼 key-value를 묶어서 데이터를 표현해야 할 때
- 실제 데이터베이스에서 읽어들인 값을 dictionary로 변환해서 자주 사용
Dictonary 생성
// dictionary 생성 방법 1
// 데이터가 주어지거나 dictionary 내용이 변동되지 않을 경우 사용
dictionary1 = {
"name": ["Ryan","Lee"],
"job": "sw engineer",
"address": {
"city":"seoul",
"zip_code":"1234"
}
}
// dictionary 생성 방법 2
// 데이터베이스를 조회해서 필요한 정보를 동적으로 채울때 사용
dictionary2 = {}
dictionary2["name"] = ["Ryan", "Lee"]
dictionary2["job"] = "sw engineer"
dictionary2["address"] = {"city":"seoul", "zip_code":"1234"}
// dictionary 생성 방법 3
// 문자열만 키로 사용될 경우 사용
let dictionary3 = Object({
"name":["Ryan","Lee"],
"job":"sw engineer",
"address":{
"city":"seoul",
"zip_code":"1234"
}
});
// 모두 다 같은 값 반환
접근 법은 객체와 같다.
console.log(dictionary3.name) // output: ["Ryan", "Lee"]
console.log(dictionary3.address.city) // output: "seoul"
console.log(dictionary3.address.zip_code) // output: "1234"
'■ 프로그래밍 > Front-end' 카테고리의 다른 글
Git & GitHub (3) - branch (0) | 2020.05.01 |
---|---|
데이터 자료 구조 (5) - Stack & Queue (0) | 2020.04.20 |
자료 구조(Data Structure) (3) - Set (0) | 2020.04.15 |
HTTP 기초 (0) | 2020.04.08 |
자료 구조(Data Structure) (2) - Array(배열) (0) | 2020.04.07 |