Set
- 순서를 유지하지 않음
- 중복을 유지하지 않음
- null은 하나만 등록 가능
- 구현 클래스 HashSet, LinkedHashSet, TreeSet

HashSet
- Set인터페이스 구현 클래스
- 순서를 유지하지 않음, 중복을 허용하지 않음.

LinkedHashSet
- HashSet 하위 클래스
- 중복 허용하지 않음
- 순서 유지

TreeSet
- SortedSet 인터페이스 구현
- 정렬된 순서에 의해 반복
- 중복 허용 안함
- Comparable 인터페이스 구현 클래스만 추가 가능

List
- 순서가 있다.
- 배열과 유사한 구조
- 가변 길이(저장 공간이 부족하면 자동으로 공간이 늘어남)
- 중복적인 요소도 추가 가능
- 중간에 데이터를 추가하거나 삭제도 가능
- 주요 구현 클래스 - ArrayList, Vector, LinkedList, Stack 등...

ArrayList
- List 인터페이스 구현 클래스
- 검색시 속도가 빠름
- 동기화 되지 않음.

LinkedList
- List 인터페이스 구현 클래스
- 검색은 느림
- 앞에서 추가하고 뒤에서 삭제가 빈번한 경우 빠름
- 중간에 삽입시 속도 현저히 떨어짐
- 동기화 되지 않음

Vector
- List 인터페이스 구현 클래스
- 동기화 지원, 다중 스레드 환경에서 안전

배열과 ArrayList의 차이점
- 배열 
 : 배열 요소의 크기를 변경할 수 없다.
 : 배열 중간에 데이터를 삽입 시에 기존 데이터를 덮어쓰기 때문에 기존의 데이터값은 사라진다.

- ArrayList
 : 가변길이의 자료구조로 데이터의 검색에 유리하며, 추가/삭제에는 성능을 고려 해야 한다.
 : 리스트의 처음, 끝, 중간에 요소를 추가/삭제하는 기능을 제공한다.
 

'쌍용강북교육센터 > 8월' 카테고리의 다른 글

0805_Oracle : 단일행함수  (1) 2021.08.05
0803_Oracle : SQL  (1) 2021.08.04
0804_Oracle : SQL  (1) 2021.08.04
0802_Ex03~Ex05_Map : 맵  (2) 2021.08.03
0802_Ex01~Ex02_Sort  (1) 2021.08.03

+ Recent posts