컬렉션 프레임워크란 무엇인가?
흔히 프로그램 개발을 건물 짓는 일에 비유한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯이 프로그램을 개발할 때도 사용하는 자료를 어떤 구조로 관리할 것인지가 중요하다. 그래야 프로그램의 기능을 효과적으로 구현할 수 있기 때문이다. 이 때 사용하는 것이 자료구조(data structure)이다. 자료 구조는 프로그램 실행 중 메모리에 자료를 유지 및 관리하기 위해 사용한다. 자바에서는 필요한 자료 구조를 미리 구현하여 java.util 패키지에서 제공하고 있는데 이를 컬렉션 프레임워크(collection framework)라고 한다. 자료 구조는 개발자가 필요할 때 직접 만들어 사용할 수도 있다. 하지만 자바 컬렉션 프레임워크를 사용하면 직접 개발하는 수고를 덜 수 있을 뿐만 아니라 잘 만들어진 자료구조 클래스를 활용할 수 있다.
컬렉션 프레임워크의 전체 구조는 Collection 인터페이스와 Map인터페이스 기반으로 이루어져있다.
Collection 인터페이스는 하나의 자료를 모아서 관리하는데 필요한 기능을 제공하고, Map인터페이스는 쌍(pair)으로 된 자료들을 관리하는데 유용한 기능을 제공한다.
이번시간에는 Collection 인터페이스 먼저 살펴보도록 하겠다.

Collection 인터페이스 하위에 List 인터페이스와 Set 인터페이스가 있다.
List를 구현한 클래스는 순차적인 자료를 관리하는데 사용할 수 있고, Set 계열의 클래스는 아이디처럼 중복되지 않는 객체를 다루는데 사용한다.
아래는 Collection 인터페이스에 선언된 메서드 중 자주사용하는 메서드이다.
▶(boolean) add(E e) : Collection에 객체를 추가한다.
▶(void) clear() : Collection의 모든 객체를 제거한다.
▶Iterator<E> iterator : Collection을 순환할 반복자(Iterator)를 반환한다.
▶(boolean) remove(Object o) : Collection에 매개변수에 해당하는 인스턴스가 존재하면 제거한다.
▶(int) size() : Collection에 있는 요소의 개수를 반환한다.
→add()나 remove() 메서드가 boolean형으로 결과 값을 반환하는 것은 객체가 잘 추가되었는지, 컬렉션에서 객체가 잘 제거되었는지 여부를 반환하는 것이다.
'JAVA > Collection Framework' 카테고리의 다른 글
[자바] [Collection] HashMap, TreeMap, LinkedHashMap 비교 및 설명 (0) | 2021.04.11 |
---|---|
[자바] [Collection] Set 인터페이스 - HashSet, TreeSet, LinkedHashSet 비교 및 설명 (0) | 2021.04.07 |
ArrayList, LinkedList 정리 및 비교 (1) | 2021.04.06 |