차차로그
JAVA 자료구조 Collection FrameWork 본문
컬렉션(Collection)은 여러 요소를 담을 수 있는 자료구조
- 다른 말로 컨테이너라고도 부른다
배열과 다르게 처음 선언을 할 때 사이즈를 정하지 않아도 되며, 사이즈가 데이터 양에 맞게 줄거나 늘어난다.
컬렉션 프레임워크는 여러 인터페이스가 있고, 그것을 구현해 사용한다.
컬렉션 프레임워크의 대표적인 인터페이스
- List Interface
- Set Interface
- Map Interface
List와 Set 인터페이스는 Collection 인터페이스를 상속받는다.
Map은 구조가 다르기 때문에 Collection 인터페이스를 상속받지 않고 별도로 정의된다. (key-value 자료 구조)
Collection 인터페이스는 직접적인 구현은 제공하지 않고 클래스가 구현해야 하는 메서드를 포함하고 있다.
- boolean add(E e) : 해당 컬렉션에 요소 추가
- boolean remove(Object o) : 전달된 객체 제거
- void clear() : 해당 컬렉션의 모든 요소 제거
- boolean contains(Object o) : 전달된 객체 포함 여부
- boolean isEmpty() : 해당 컬렉션 비어있는지 여부 확인
- int size() : 컬렉션의 요소 개수 반환
- Object[] toArray() : 해당 컬렉션의 모든 요소를 Object 타입의 배열로 반환
List 인터페이스
- 순서가 있는 컬렉션
- 중복 요소 포함 가능
- 인덱스로 요소에 접근 가능
- 대표적으로 ArrayList 클래스가 있다.
Set 인터페이스
- 중복 요소 포함 불가
- iterator / foreach로 요소 접근 가능
- 대표적으로 HashSet, TreeSet이 있다.
Map 인터페이스
- key-value의 구조
- 중복키 불가
- put, get, containsKey(Value), size, isEmpty로 제어 가능
- HashMap, Hashtable, TreeMap
HashMap
- 중복 허용 X
- NULL 허용
- 순서 보장 X
- 내부적으로는 Entry<K, V>[] Entry의 Array 형태로 되어 있다.
Hashtable
- NULL 허용 X
TreeMap
- 중복 허용 X
- key값에 대한 정렬이 이루어진다
'JAVA' 카테고리의 다른 글
정규표현식 regex (0) | 2022.08.08 |
---|
Comments