이전 걸음에서 Java의 자료구조의 list를 공부를 했습니다. 자료구조에서 가장 많이 쓰는 구조이기 때문에 꼭 알고 있으면 좋습니다. 이번 걸음에서는 list 다음으로 다른 자료구조를 공부를 하도록 하겠습니다. 이번 걸음으로 다른 자료구조의 형태를 배우는 시간이 될 수 있습니다.
Set이라는 자료구조에 대해 이번 걸음에서 공부를 하도록 해보겠습니다. Set은 List와 다른 부분이 있기 때문에 차이점을 이해를 하고 사용을 하는 방법과 특징에 대해서 공부를 진행을 할 예정입니다. 끝까지 글을 읽으신다면 Set에 대해서 완벽하게 이해를 하실 수 있습니다.
Set이란? 무엇인지 그리고 Set의 특징과 Set과 관련이 있는 class들 그리고 Set의 Method를 공부해서 Set을 활용하고 사용을 할 수 있는 방법을 이번 걸음에서 같이 공부를 하겠습니다. List와 다른 부분을 숙지해서 필요성에 따라 사용을 할 수 있습니다.
Set이란?
Set의 특징은 순서가 없이 데이터를 구조화 해서 관리를 하게 됩니다. 그래서 데이터의 index는 존재 하지 않고 데이터는 그 다음의 데이터 이동을 하는 것만 알고 있습니다. 그렇게 index 없이 데이터를 관리를 하다 보니 데이터가 중복이 될 수 없습니다. 데이터 자체를 가지고 고유성을 분리를 해서 관리를 하기 때문입니다. Set에 관련 인터페이스는 Collection, Set이 있습니다.
관련 class : HashSet, TreeSet, LinkedHashSet
※ Hash, Tree, Linked는 데이터를 구조하는 알고리즘입니다. 추가적으로 공부를 하시면 이해를 하시는데 더욱 도움이 되실 수 있습니다.
Set의 동작
Set은 자체적Method
add : 객체 추가
addAll : 컬렉션 추가
clear : 모든 객체 삭제
size : 객체의 개수
위와 같이 사용을 하여 추가와 모두 지우기가 가능합니다. 하지만 데이터만 탐색을 하거나 선택된 데이터를 삭제를 하기 위해서 Set만으로 할 수 없고 Iterator의 도움을 받아서 진행을 해야 합니다.