Set
array나 list 처럼 순열 자료구조 (collection) 이지만 순서라는 개념이 존재하지 않는다.
특징
- 데이터를 비순차적(unordered)으로 저장할 수 있는 순열 자료구조 -> indexing이 없다
- 삽입(insertion) 순서대로 저장되지 않는다.
- 수정 가능하다(mutable).
- 동일한 값을 여러번 삽입 불가능하다. 동일한 값이 여러번 삽입 되면 하나의 값만 저장된다.
- Fast Lookup이 필요할때 주로 쓰인다.(hash값 기반의 bucket에 저장하기때문에)
Set에서 요소들이 저장될 때 순서
- 저장할 요소의 값의 hash 값을 구한다.
- hash : 한번 암호화 하면 복호화가 안되는 단방향 (one way) 암호화.
주로 임의의 길이를 갖는 임의의 데이터에 대해 고정된 길이의 데이터로 매핑할때 사용된다
- 해쉬값에 해당하는 공간(bucket)에 값을 저장한다.
Dictionary / HashMap / HashTable