Set는 데이터를 비순차적(unordered)으로 저장할 수 있는 순열 자료구조 (collection)입니다.
비순차적이라 데이터 삽입 순서대로 저장되지 않아, 특정한 순서를 기대할 수 없습니다.
Array,List와 마찬가지로 Set는 수정이 가능합니다.
중복을 허용하지 않아서 같은값을 삽입하면 되면, 마지막에 삽입한 값 하나만 저장 됩니다.
빠른 Lookup(데이터가 있는지 탐색)이 필요할때 주로 쓰입니다.
Set 내부에 데이터들이 저장될 때는 다음과 같은 과정이 진행 됩니다.
1) 저장할 데이터의 Hash값을 구한다.
2) Hash값에 해당하는 공간(Bucket)에 값을 저장한다.
해시 테이블을 사용해서 해시값을 기반으로 데이터를 저장하기 때문에 특정값을 포함하는지 확인하는 작업이 매우 빠릅니다.
선생님~!
"중복을 허용하지 않아서 같은값을 삽입하면 되면, 마지막에 삽입한 값 하나만 저장 됩니다."
이 부분 잘못된것같아요.
마지막값이 삽입되는 것이 아닌 기존값이 존재하고 새로운 값이 들어가지 못하고 팅겨나오는 형태라고 표현 하는 것이 정확한 것 같습니다