본문 바로가기
멘토씨리즈 자바/이론

[핵심정리] 컬렉션 프레임워크

by Hwanii_ 2023. 6. 4.
728x90

SECTION 16 - 컬렉션 프레임워크
444 page.

 

1. 컬렉션 프레임워크

: 컬렉션 프레임워크는 데이터를 다룰 때 사용되는 주요 자료구조를 말한다.

컬렉션은 기존의 List, Map, Set 등의 자료 구조를 뜻하고,

프레임워크는 클래스와 인터페이스를 묶어 놓은 개념이다.

 

2. List 컬렉션

: 배열과 비슷하게 index로 객체를 관리한다.

다만, 배열과는 다르게 크기의 제한이 없다 !

삽입, 삭제, 변경의 기능도 자유롭다 !

List에는 대표적으로 ArrayList와 LinkedList가 있다.

 

3. ArrayList

: 데이터를 순차적으로 저장하는 특징을 가진다.

데이터가 삽입될 때마다 크기가 자동으로 증가하고,

배열을 삭제하면 공간이 줄어든다.

index를 기준으로 값을 삽입하거나 추출한다.

 

4. LinkedList

: Node 객체를 기반으로 데이터를 저장한다.

Node 객체는 데이터와 자신 다음에 올 데이터의 주소를 값으로 가진다.

 

5. ArrayList는 데이터를 출력하거나 검색할 경우에 자주 사용되고,

LinkedList는 데이터의 삽입과 삭제가 빈번한 경우에 사용하면 더 좋다.

 

6. Set 컬렉션

: Set 컬렉션은 List 컬렉션과 다르게 객체의 저장 순서를 저장하지 않는다.

데이터의 중복도 허용하지 않는다.

또한 데이터를 저장할 때 index를 부여하지 않는다.

데이터가 입력된 순서대로 출력된다는 보장이 없는게 특징이다.

대표적으로 HashSet이라는 하위 클래스가 존재 한다.

 

7. Map 컬렉션

: Map 컬렉션은 List, Set 컬렉션과 다르게 Map interface가 별도로 존재한다.

데이터를 List 계열의 컬렉션과 다르게 처리하는게 특징이다.

Map은 key의 중복을 허용하지 않는다.

만약에 Key가 중복된다면 기존에 있던 Key에 해당하는 Value 값이 마지막으로

등록된 값으로 치환 된다.

대표적으로 Map을 상속받아 구현한 HashMap, TreeMap, LinkedHashMap이 있다.

 

8. HashSet / HashMap

: HashSet 또는 HashMap은 객체 데이터를 value 또는 Key로 할 경우,

중복 객체 체크를 위해 해당 객체의 hashcode()와 equals() 메서드를

재정의 하여 구현해야 한다.

반응형