🍎Collection Framework의 개요
컬렉션은 다수의 요소를 하나의 그룹으로 묶어 효율적으로 저장하고, 관리할 수 있는 기능을 제공하는 일종의 컨테이너이다. 배열은 크기가 고정되어 있는 반면에, 컬렉션 프레임워크는 가변적인 크기를 갖는 특징을 갖는다. 또한 데이터 삽입, 탐색, 정렬 등 편리한 API를 다수 제공한다.
이점
- 가변적인 저장 공간 제공
- 이미 구현된 컬렉션 클래스를 목적에 맞게 선택 사용가능
구성요소
- 인터페이스 (Interfaces)
- 클래스 (Classes)
- 알고리즘 (Algorithms)
🍏Collection Framework의 종류
4가지로 분류 가능
- 리스트 (List) : 인덱스 순서로 요소 저장, 중복된 데이터 저장 불가
- 큐 (Queue) : 선입선출(FIFO)의 구조를 가진 선형 자료구조
- 집합 (Set) : 순서 없음, 데이터 중복 저장 불가, 집합 연산(합집합, 교집합, 차집합) 지원
- 맵 (Map) : Key-value쌍으로 데이터 저장, 순서 없음, Key 중복 불가
🍊Collection Framework 계층

🍋예시 코드
ArrayList
// String형으로 ArrayList 생성
ArrayList<String> myArrayList = new ArrayList<String>();
// ArrayList에 요소 추가하기
myArrayList.add("새우깡");
myArrayList.add("감자깡");
myArrayList.add("버터와플");
myArrayList.add("맛동산");
// ArrayList요소에 접근
System.out.println("index 1: " + myArrayList.get(0));
System.out.println("index 2: " + myArrayList.get(2));
// ArrayList요소 삭제
myArrayList.remove(1);
// ArrayList요쇼에 접근하여 출력
System.out.println("ArrayList 요소: ");
for (String snack : myArrayList) {
System.out.println(snack);
}
HashMap
// HashMap생성 - Key 값은 String, Value 값은 Integer형
HashMap<String, Integer> myHashMap = new HashMap<String, Integer>();
// HashMap에 key값과 value값 추가
myHashMap.put("새우깡", 1300);
myHashMap.put("감자깡", 1800);
myHashMap.put("버터와플", 2000);
myHashMap.put("맛동산", 2500);
// key값으로 value값 접근
System.out.println("과자 가격: " + myHashMap.get("새우깡"));
// HashMap에서 key와 value값 삭제
myHashMap.remove("감자깡");
// HashMap에서 key값과 value값 둘 다 접근해 출력
System.out.println("HashMap key값 value값: ");
for (String name : myHashMap.keySet()) {
System.out.println(name + " : " + myHashMap.get(name));
}
참고 블로그
https://hudi.blog/java-collection-framework-1/
....