데이터를 저장하는 추상자료형(ADT)이며 순서를 보장하지 않고 데이터 중복을 허용하지 않는다. 데이터 조회가 List보다 빠르다.
해시 테이블을 사용해서 크기에 상관없이 데이터 조회가 빠름
java에서는 Hash Set구현에 Hash Map을 사용한다.
ex) add시 Hash Map의 value값에 더미데이터를 넣어 사용
Set을 사용하는 경우 : 데이터의 순서가 보장되지 않아도 되고 중복을 처리해야 하는 경우
List를 사용하는 경우 : 데이터 중복을 처리해야 하는 경우가 아니면 대부분 List를 사용한다.
list가 메모리를 적게 사용하고, 구현 특성 상 list가 단순하여 iterarion이 더 빠르기 때문에 list 특히 array list를 쓰는 것이 좋다.