Collection Framework - JAVA
Collection Framework
- java.util 패키지
- 다수의 데이터를 쉽게 처리하는 방법 제공 -> DB 처럼 CRUD 기능 중요!!
- collection framework의 핵심 interface
- List : 순서가 있는 데이터의 집합. 순서가 있으므로 데이터의 중복 가능
- ArrayList, LinkedList
- Set : 순서를 유지하지 않는 데이터의 집합. 중복을 허락하지 않는다!!
- HashSet, TreeSet...
- Map : key와 Value의 쌍으로 데이터를 관리하는 집합. 순서는 없고 key의 중복 불가. value는 중복가능하다.
- HashMap, TreeMap
Collection Interface

List
특징
- 순서가 있는 데이터의 집합
- 데이터의 중복 허락
주요 메서드

배열과 ArrayList
- 배열의 장점
- 배열의 단점
- 크기를 변경할 수 없어 추가 데이터 발생시 새로운 배열을 만들고 복사해야함
- 비 순차적 데이터의 추가, 삭제에 많은 시간이 소요
- ArrayList도 배열을 사용하기 때문에 배열의 장-단점을 모두 지니고 있음
LinkedList

- 각 요소를 Node로 정의하고 Node는 다음 요소의 참조 값과 데이터로 구성
- 각 요소가 다음 요소의 링크 정보를 가지며 연속적으로 구성될 필요가 없다
LinkedList와 ArrayList의 용도

- 소량의 데이터를 가지고 사용하는 경우는 큰 차이 X
- 정적인 데이터 활용, 단순 데이터 조회용 : ArrayList
- 동적인 데이터 추가, 삭제가 많은 작업 : LinkedList
자료 삭제 시 체크해야할점


- 요소가 삭제되면 size도 줄어들기 때문에 index 차감이 꼭 필요하다
- forEach 문장은 read only
Set
- 특징
- 순서 없이 주머니에 데이터를 저장
- 데이터를 구별할 index가 없으므로 중복 허용 X
Map
- 특징
- key와 value를 하나의 Entry로 묶어서 데이터 관리
- key : Object 형태로 데이터 중복을 허락하지 않음
- value : Object 형태로 데이터 중복이 허락 됨
Map Interface의 주요 메서드
