728x90
반응형
동일한 데이터 타입을 가진 것들은 모은 집합을 컬렉션이라 부른다.
컬렉션은 알아두면 정말 잘 쓰는 것들이고 그러기 때문에 기본적인 것들이다.
자료구조를 어느 정도 공부한 후 보면 이해가 빨리 된다. 자료구조를 쉽게 쓰라고 만들어 놓은 것들이기 때문에...
아래 표를 살펴보자. 출처 : https://www.javatpoint.com/collections-in-java이고 상당히 정리가 잘 되어있는 사이트이다.
자바에서 제공하는 컬렉션 프레임워크는 아래와 같은 구조를 가진다.
위 표를 말로 풀어 쓰면 아래와 같이 정리가 된다.
- Collection인터페이스는 Collection을 순회(탐색)하기 위한 Iterable 인터페이스를 상속받고 있다.(인터페이스가 인터페이스를 상속받는 경우는 구현이 아닌 상속으로 들어간다. implements키워드가 아닌 extends)
- 이를 상속받은 Collection 인터페이스를 List, Queue, Set 인터페이스가 상속을 받는다.
- List 인터페이스를 구현(implements)한 Class는 다음과 같다.
- ArrayList
- LinkedList
- Vector
- Stack은 Vector 클래스를 상속받는다.
- Queue 인터페이스를 구현(implements)하고 상속(extends)한 Interface와 Class는 다음과 같다.
- PriorityQueue는 Queue 인터페이스를 구현했다.
- Deque 인터페이스는 Queue 인터페이스를 상속받았다.
- Deque 인터페이스를 구현한 Class들은 다음과 같다.
- LinkedList, ArrayDeque
- Deque 인터페이스를 구현한 Class들은 다음과 같다.
- Set 인터페이스를 구현(implements)하고 상속(extends)한 Interface와 Class는 다음과 같다.
- HashSet
- LinkedHashSet
- SortedSet 인터페이스는 Set 인터페이스를 상속받는다.
- TreeSet 클래스는 SortedSet 인터페이스를 구현한다.
각 인터페이스 별 특징은 다음과 같다.
인터페이스 | 특징 |
List | 순서 있음, 데이터 중복 가능 |
Set | 순서 없음, 데이터 중복 불가능 (집합이라고 생각하면 편하다.) |
Queue | 선입선출(FIFO)을 위함 |
각 인터페이스에서 제공하는 함수에서 중요한 부분은 다음 글에서 설명하도록 한다.
728x90
반응형
'JAVA' 카테고리의 다른 글
JVM 32bit, 64bit 무엇을 골라야 하는가 (0) | 2020.11.10 |
---|---|
자바 - 타임스탬프 만들기 (0) | 2020.10.09 |
SWT - 마우스스크롤 이벤트 막기 (0) | 2020.09.02 |
SWT - 방향키 입력 막기 (0) | 2020.09.01 |
개인적으로 자주 쓰는 이클립스 단축키 모음 (0) | 2020.08.31 |