List
- 연속적인 테이터를 담고자 하는 자료구조 공간
- 각 테이터는 배열처럼 인덱스라는 주소값을 가지고 접근이 가능하다.
- 데이터를 추가할 때나 삭제될 때 List의 크기가 유동적으로 늘어났다 줄어든다.
- List를 통해 데이터의 추가/삭제가 일어날 경우 기존 데이터들이 빈 공간을 메꿔 중간의 데이터들의 구멍이 생기는 것을 방지한다.(Array와 가장 큰 이유이자 List를 많은 이들이 사용하는 이유)
- 모든 리스트를 순차적으로 색인할 경우 사용하는 대표적인 콜렉션 중 하나
- 종류로는 ArrayList, LinkedList, Stack 등이 있다.
Set
- 데이터가 중복되지 않으며 순서가 없는 데이터를 관리할 때 사용하는 콜렉션
- 리스트 하고는 달리 인덱스를 통해 접근할 수 없다.
- 데이터를 순차적으로 접근하기 위해서 foreach 혹은 iterator를 통해 접근해야한다.
- Set은 동일 데이터를 넣을 시 false를 리턴하고 해당 데이터를 드랍한다.
- 데이터의 중복을 불허하는 점에서 유니크한 데이터만 저장/관리가 가능하다는 장점이 있다.
- Set의 대표적인 클래스로는 HashSet, TreeSet 등이 있다.