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 |