자바 컬렉션 프레임워크
TCP School 참고 장인 개발자를 꿈꾸는 님 블로그 참고
컬렉션 프레임워크 (Collection Framework)
자바에서 다수의 데이터, 자료구조를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 프레임워크이다. 데이터를 저장하는 자료 구조 및 이를 처리하는 알고리즘으로 구성되어 있다.
주요 인터페이스
대표 자료 구조에 대한 인터페이스들이 선언되어 있다.
- List 인터페이스
- Set 인터페이스
- Map 인터페이스
List, Set은 모두 Collection 인터페이스를 상속 받지만 구현 상의 문제로 Map은 그렇지 않다.
인터페이스 상속 관계
모두 제네릭 클래스로 구성된다.
주요 인터페이스
인터페이스 | 설명 | 구현 클래스 |
---|---|---|
List |
순서가 있는 데이터의 집합, 데이터 중복 허용 | Vector, ArrayList, LinkedList, Stack, Queue |
Set |
순서가 없는 데이터의 집합, 데이터 중복 허용 안함 | HashSet, TreeSet |
Map<K, V> | 키와 값의 쌍으로 이루어진 데이터의 집합, 순서가 없고, 키는 중복되지 않고 값은 중복 가능 | HashMap, TreeMap, Hashtable, Properties |
컬렉션 클래스 (Collection Class)
컬렉션 인터페이스들의 구현체 클래스들을 말한다. 위 표의 구현 클래스들을 말한다.
컬렉션 인터페이스 주요 메소드
메소드 | 설명 |
---|---|
boolean add(E e) | 컬렉션에 엔트리 e를 추가 |
void clear() | 컬렉션의 모든 요소 제거 |
boolean contains(Object o) | 컬렉션이 o를 가지고 있는지 체크 |
boolean equals(Object o) | 컬렉션과 o가 같은지 체크 |
boolean isEmpty() | 컬렉션이 비었는지 체크 |
Iterator |
컬렉션의 반복자 반환 |
boolean remove(Object o) | 컬렉션에서 o를 삭제 |
int size() | 컬렉션 내 엔트리의 총 갯수 반환 |
Object[] toArray() | 컬렉션의 모든 엔트리들을 Object 타입의 배열로 반환 |