1. 컬렉션 프레임워크(Collection Framework)란?
컬렉션 프레임워크는 프로그램 내에서 데이터를 관리하기 위한 표준화된 방법을 제공하는 Java API의 일부이다. 이는 다양한 데이터 구조를 표현하는 클래스를 포함하며, 이들은 모두 Collection과 Map 인터페이스로부터 파생되었다.
Collection은 개별 요소들의 집합을 다루는 데에 중점을 둔다면, Map은 key와 value 쌍을 관리하는데 초점을 맞추고 있다. 이 둘은 서로 동등한 수준에서 다루어지며, 컬렉션 프레임워크는 프로그래머에게 이 두 종류의 데이터 구조를 효율적이고 편리하게 다룰 수 있는 도구를 제공한다.
2. Collection 인터페이스의 하위 인터페이스 - List, Set
Colletion 인터페이스는 두 가지의 주요 하위 인터페이스를 가지고 있다. "List와 Set" 이 둘은 각각의 특징을 가지며, 그에 따른 구현 클래스들이 다양하게 존재한다.
- List 인터페이스 : 요소의 순소가 중요하며 중복을 허용하는 컬렉션을 표현한다. 인덱스를 이용해 요소에 접근할 수 있다. 주요 구현 클래스로는 ArrayList, LinkedList, Vector, Stack등이 있다.
- Set 인터페이스 : 중복된 요소를 허용하지 않는 컬렉션을 표현한다. 주요 구현 클래스로는 HashSet, TreeSet 등이 있다.
3. List와 Set의 사용
- List는 순서가 중요한 시나리오, 동일한 요소가 여러 번 포함될 수 있는 시나리오에서 주로 사용된다. 예를 들어, 사용자의 이벤트 로그를 기록하는데 List를 사용할 수 있따.
- 반면에 Set은 중복 요소가 없어야 하는 시나리오에서 주로 사용된다. 예를 들어, 특정 학생 집합 내에서 각 학생을 한 번만 표시해야 하는 경우 Set을 사용할 수 있다.
특징
ArrayList는 랜덤 접근이 빈번한 경우에 유리하며, LinkedList는 데이터의 삽입과 삭제가 빈번한 경우 유리하다.
Set 중에서도, HashSet은 해싱을 통해 빠른 검색 성능을 제공하며, TreeSet은 요소를 정렬된 상태로 유지한다.

'Java > JAVA 100 문제 풀이' 카테고리의 다른 글
| 자바 part.5 문제풀이 - ArrayList를 활용한 데이터 처리 (0) | 2023.08.01 |
|---|---|
| 자바 part.5 문제풀이 - ArrayList : 동적 데이터 구조의 이해와 활용 (0) | 2023.08.01 |
| 자바 part.5 문제풀이 - 제네릭(Generic) 개념 활용 (0) | 2023.08.01 |
| 자바 part.5 문제풀이 - 제네릭을 사용하지 않을 때 자바에서 발생하는 실행 시점 오류 (0) | 2023.07.31 |
| 자바 part.5 문제풀이 - 제네릭(Generic)의 필요성 및 편리성 (0) | 2023.07.31 |