다수의 데이터를 다루기위한 자료구조를 표현하고 사용하는 클래스의 집합을 의미
데이터를 다루는데 필요한 풍부하고 다양한 클래스와 기본함수를 제공
실제 자바 어플리케이션을 개발할 때 가장 많이 사용할 클래스와 함수로 컬랙션 프레임워크의 모든 클래스는 Collection interface를 구현(implement)하는 클래스 또는 인터페이스로 해당 클래스는 이미 자바 안에 작성된 클래스를 사용하게 된다.
-배열보다는 ArrayList를 더 많이 사용하는데 배열은 크기가 고정되어야 하기 때문에, 활용에 제약이 있다.
종류
List 순서가 있는 데이터의 집합이며 데이터의 중복을 허용 -> ArrayList,LinkedList,Stack 등Set 순서를 유지하지 않는 데이터의 집합이며 데이터의 중복을 허용하지 않음.(요소의 순서를 상관없이 저장하고, 중복허용하지 않음) -> HashSet, TreeSetMap 키(Key)와 값(value)의 쌍으로 이루어진 데이터의 집합. 순서는 유지되지 않으며 키는 중복을 허용되지 않고 값은 중복을 허용함 -> HashMap, TreeMap 등Stack 마지막에 넣은 데이터를 먼저 꺼내는 자료구조. LIFO(Last In First Out) ->Stack, ArrayDeque 등Queue 먼저 넣은 데이터를 먼저 꺼내는 자료구조. FIFO(First In First Out) -> Queue, ArrayDeque 등
※컬렉션 인터페이스에는 컬렉션 클래스에 저장된 데이터를 읽고, 추가하고 삭제하는 등 데이터를 다루는데 기본적인 메소드들을 정의하고 있다.
해당 자료구조(List, Set, Map 등 에서 ctrl+엔터)를 통해 구현되어 있는 클래스(인터페이스) 확인 가능.
List 클래스 주요 메서드
boolean add(E e) 주어진 객체를 맨 끝에 추가합니다.void add(int index,E element) 주어진 인덱스에 객체를 추가합니다.set(int index, E element) 주어진 인덱스에 저장된 객체를 주어진 객체로 바꿉니다.boolean contains(Object o) 주어진 객체가 있는지에 대한 여부를 검색합니다.E get(int index) 주어진 인덱스에 저장된 객체를 리턴합니다.isEmpty() 컬렉션이 비어있는지 여부를 확인합니다.int size() 저장되어 있는 전체 객체 수를 리턴합니다.E remove(int index) 주어진 인덱스에 저장된 객체를 삭제합니다void clear() 주어진 인덱스에 저장된 객체를 삭제합니다.boolean remove(Object o) 주어진 객체를 삭제합니다.