컬렉션은 무엇이며 List, Set, Map은 무엇일까?
컬렉션 프레임워크 (Collection Framework)
--
컬렉션 프레임워크는
Java에서 데이터를 효율적으로 저장하고 관리하기 위해
표준화된 클래스와 인터페이스의 집합을 의미한다.
- 컬렉션을 다루기 위한 표준화된 프로그래밍 방식 (저장, 삭제, 검색, 비교, 정렬 등)
- 컬렉션을 쉽고 편리하게 다루게 해주는 다양한 클래스 제공 (해당 클래스는 java.util 패키지에 포함)
컬렉션 : 여러 객체(데이터)를 모아 놓은 것
프레임워크 : 표준화, 정형화된 체계적인 프로그래밍 방식
컬렉션 클래스 : 다수의 객체(데이터)를 저장할 수 있는 클래스
표준화가 된다는 것은
누가 어디서 어떻게 작성하든
프로그래밍 방식이 동일하게 작성된다는 것이다.
--
컬렉션 프레임워크의 핵심 인터페이스
--
컬렉션 프레임워크에서 3가지의 핵심 인터페이스가 존재한다.
- List
- Set
- Map
여기서 List와 Set은 공통으로 사용하는 기능들이 있어서 Collection 인터페이스의 자식으로 묶여있다.
Collection 인터페이스에서 제공하는 대표 메서드
즉, 위 메서드들은 List와 Set에서 공통으로 사용할 수 있는 메서드가 된다.
--
List 인터페이스
--
List 특징
- 데이터 순서 유지 가능
- 데이터 중복 가능
즉, 메모장에 리스트를 작성하는 것처럼
데이터들을 나열하는 것을 다룰 때 사용한다.
List 인터페이스를 구현한 클래스는 대표적으로 3가지 존재한다.
- ArrayList
- LinkedList
- Vector
List 인터페이스에서 제공하는 대표 메서드
--
Set 인터페이스
--
Set 특징
- 데이터 순서 유지 불가능
- 데이터 중복 불가능
즉, 집합 형태처럼
데이터들을 하나의 묶음으로 다룰 때 사용한다.
Set 인터페이스를 구현한 클래스는 대표적으로 2가지 존재한다.
- HashSet
- TreeSet
SortedSet은 정렬된 집합을 위한 인터페이스
Set 인터페이스는 List 인터페이스처럼 추가로 제공하는 메서드가 없기 때문에
Collection 인터페이스에서 제공하는 메서드만 사용이 가능하므로
사용할 수 있는 메서드는 Collection 인터페이스와 동일하다.
--
Map 인터페이스
--
Map 특징
- 키(Key)와 값(Value)이 쌍으로 이루어진 데이터들의 집합
- 데이터 순서 유지 불가능
- Key 데이터 중복 불가능
- Value 데이터 중복 가능
즉, 집합 형태처럼
데이터들을 하나의 묶음으로 다룰 때 사용한다.
Map 인터페이스를 구현한 클래스는 대표적으로 2가지 존재한다.
- HashMap
- TreeMap
Hashtable은 컬렉션 프레임워크가 나오기 전에 사용했던 구버전이고,
HashMap이 신버전이다.
List 인터페이스에서 제공하는 대표 메서드
Map 인터페이스에서는 새로운 객체(데이터)를 추가할 때 "add"가 아닌 "put"을 사용한다.
key-value 한 쌍을 "Entry"라고 부르며
컬렉션에 저장된 모든 Entry를 가져올 때 entrySet() 메서드를 사용한다.
--
'Language > Java' 카테고리의 다른 글
[Java] Stack과 Queue 사용하기 (1) | 2024.12.20 |
---|---|
Vector, ArrayList, LinkedList (0) | 2024.12.18 |
[java.lang] Math 클래스 (수학적 계산 관련 클래스) (0) | 2024.11.05 |
[java.lang] Wrapper 클래스 (기본형 객체 관련 클래스)(+오토박싱, 언박싱) (1) | 2024.11.04 |
[java.lang] StringBuffer 클래스, StringBuilder 클래스 (가변 문자열 관련 클래스) (0) | 2024.11.03 |