티스토리 뷰
🚀 컬렉션 프레임워크(Collection Framework)란?
자바에서 컬렉션 프레임워크란 다수의 데이터를 쉽고 효과적으로 처리할 수 있도록 표준화된 방법을 제공하는 클래스의 집합을 말한다.
즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현한 것이다.
이러한 컬렉션 프레임워크는 자바의 인터페이스를 사용하여 구현된다.
⭐️ 주요 인터페이스

- List 인터페이스
- Set 인터페이스
- Map 인터페이스
인터페이스 설명 구현 클래스
| List<E> | 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용함. | Vector, ArrayList, LinkedList, Stack, Queue |
| Set<E> | 순서가 없는 데이터의 집합으로, 데이터의 중복을 허용하지 않음. | HashSet, TreeSet |
| Map<K, V> | 키와 값의 한 쌍으로 이루어지는 데이터의 집합으로, 순서가 없음. | |
| 이때 키는 중복을 허용하지 않지만, 값은 중복될 수 있음. | HashMap, TreeMap, Hashtable, Properties |
Map 은 Collection을 상속받지 않는다?
이중, List와 Set 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상 차이(Key-Value 구조)로 Map 인터페이스는 별도로 정의된다. 따라서, List 인터페이스와 Set 인터페이스의 공통된 부분을 Collection 인터페이스에서 정의하고 있다.
🎯 Collection 을 사용하는 이유
1. 일관된 API 제공
Collection의 일관된 API를 사용하여 Collection을 상속받는 모든 클래스에서 통일된 메서드를 사용할 수 있다.
2. 알고리즘 고민 감소
추상화를 통해 공통된 메서드를 제공하기 때문에 데이터 추가, 제거 등과 같은 기본적인 메서드를 구현할 필요가 없다. 따라서 애플리케이션 설계 및 개발에 집중할 수 있다.
3. 프로그램 속도 및 품질 향상
자주 사용되는 메서드를 최적화하여 미리 구현되어 있기 때문에 유용한 데이터 구조 및 알고리즘은 성능을 향상할 수 있다.
❓기존 배열과 다른점이 뭐야?
여기서 배열과 유사한 자료구조인 List의 차이점에 대해서 알고 가자.
배열
- 배열 선언 시 크기가 고정되어 있다.
- 연속적인 데이터라서 메모리 관리에 유용하다.
- 크기 확장(또는 삽입)이 불편한다. 크기 확장을 하고자 한다면 크기가 배열을 새롭게 선언하고 기존의 값을 복사해야 한다.
- 크기를 변경할 수 없기 때문에 중간에 데이터를 삭제하면 데이터 낭비가 발생한다.
List
- 크기를 유연하겨 변경할 수 있다.
- 데이터를 중간에 삽입, 삭제가 편리하다.
- 불연속 데이터로 포인터를 통해 접근한다.
- 빈틈없는 데이터 적재로 필요한 메모리만큼 차지한다.
🌐 Reference
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
[JAVA] 컬렉션(Collection)이란?(추가 : Collecion의 요소 상세설명)
[JAVA] 컬렉션(Collection)이란?(추가 : Collecion의 요소 상세설명)
안녕하세요 이번 포스팅에서는 자바의 컬렉션(Collection)에 대해서 알아보겠습니다 Collection은 많이 사용되지만 정확하게 어떤 것인지는 저도 모른채로 사용을 했습니다 이번 포스팅을 하면서 제
crazykim2.tistory.com
컬렉션을 쓰는 이유
오늘은 컬렉션에 대해서 알아보겠다. 그러려면 우선 Collection이 뭔지부터 알아보자. 오늘도 equals 포스팅과 같이 내가 궁금했던 점들을 물음표 형식으로 풀어나갈 것이다. Collection이 뭔가? 단순히
olivejua-develop.tistory.com
'개발 스토리' 카테고리의 다른 글
| JUnit에 대해 알아보고 사용해보기 👀 (1) | 2023.10.27 |
|---|---|
| [우테코 API] Assetions, NsTest 에 대해 알아보기 (1) | 2023.10.26 |
| 자바 스트림(Stream)이란 무엇이고 왜 쓰는건가? (0) | 2023.10.22 |
| MVC 패턴에 대해, 그리고 이를 지키는 규칙 (2) | 2023.10.21 |
| 레코드(record) 누구냐 넌? (2) | 2023.10.20 |
- Total
- Today
- Yesterday
- 우테코 준비
- 토스 합격 후기
- 분산락
- 우아한테크코스 6기
- 토스 2025 NEXT
- Cache Stampede
- stoplight
- 우테코 프리코스
- API 지연
- 토큰
- 토스 next 2025
- 코루틴
- 우아한테크코스 후기
- 토스 NEXT 후기
- redis
- Assertions
- 우테코 6기
- 캐시 스템피드
- 게임개발
- 자바
- 커넥션 데드락
- 알고리즘
- 우테코
- 파이썬
- JWT
- 우아한테크코스
- 우아한테크코스 자소서
- 6기
- 레디스
- 토스 백앤드 합격
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |