일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 코린이
- exception
- SSR
- 인터페이스
- 파이팅
- 문자 단위 스트림
- throws
- 변수
- 바이트 단위 스트림
- 자바
- 개발자
- 새벽공부
- try-catch
- FileInputStream
- ArrayList
- MPA
- 상속
- 초보개발자
- Java
- 백엔드
- 메서드
- node.js
- 보조 스트림
- 다형성
- 인스턴스
- 예외 처리
- 자료형
- 배열
- 코딩
- 졸리다
- Today
- Total
SHUSTORY
12-2 컬렉션 프레임워크 본문
컬렉션 프레임워크
자료 구조는 프로그램 실행 중 메모리에 자료를 유지, 관리하기 위해 사용한다.
자바에서는 필요한 자료 구조를 미리 구현하여 java.util 패키지에서 제공하고 있는데, 이를 컬렉션 프레임워크라고 한다.
자료 구조는 개발자가 직접 만들어 사용할 수도 있지만, 자바 컬렉션 프레임워크를 사용하면 직접 개발하는 수고를 덜고
잘 만들어진 자료 구조 클래스를 활용할 수 있다.
자바 컬렉션 프레임워크에는 여러 인터페이스가 정의되어 있고, 그 인터페이스를 구현한 클래스가 있다.
컬렉션 크레임워크의 전체 구조는 Collection 인터페이스와 Map 인터페이스 기반으로 이루어져 있다.
Collection 인터페이스는 하나의 자료를 모아서 관리하는 데 필요한 기능을 제공하고,
Map 인터페이스는 쌍으로 된 자료들을 관리하는 데 유용한 기능을 제공한다.
Collection 인터페이스
Collection 인터페이스는 하위에 List 인터페이스와 Set 인터페이스가 있다.
List를 구현한 클래스는 순차적인 자료를 관리하는 데 사용하는 클래스이고,
Set 인터페이스는 수학에서의 집합과 같은 개념으로 중복되지 않는 객체를 다루는 데 사용한다.
분류 | 설명 |
List 인터페이스 | 순서가 있는 자료 관리 중복 허용 List 인터페이스를 구현한 클래스 - ArrayList, Vectior, LinkedList, Stack, Queue 등 |
Set 인터페이스 | 순서가 정해져 있지 않은 자료 관리 중복 불허 Set 인터페이스를 구현한 클래스 - HashSet, TressSet 등 |
Collection 인터페이스에 선언된 메서드 중 자주 사용하는 메서드는 다음과 같다.
메서드 | 설명 |
boolean add(E e) | Collection에 객체를 추가한다. |
void clear( ) | Collection의 모든 객체를 제거한다. |
iterator<E> iterator | Collection을 순환할 반복자(Iterator)를 반환한다. |
boolean remove(Object o) | Collection에 매개변수에 해당하는 인스턴스가 존재하면 제거한다. |
int size( ) | Collection에 있는 요소의 개수를 반환한다. |
add( )나 remove( ) 메서드가 boolean형으로 결과 값을 반환하는 것은 객체가 잘 추가되었는지, 컬렉션에서 객체가 잘 제거되었는지 여부를 반환하는 것이다.
Collection 인터페이스를 구현한 클래스는 위 메서드를 모두 제공한다.
Map 인터페이스
Map 인터페이스는 쌍으로 되어 있는 자료를 관리하는 메서드들이 선언되어 있다.
key-value 쌍이라고 표현하며 키 값은 중복될 수 없고, key에 대응하는 value 값은 여러 개일 수도 있고 중복될 수도 있다.
Map은 기본적으로 검색용 자료 구조로, 어떤 key 값을 통해 value를 찾기 위한 자료 구조이다.
Map 인터페이스에 선언된 메서드 중 주요 메서드는 다음과 같다.
메서드 | 설명 |
V put(K key, V value) | key에 해당하는 value 값을 map에 넣는다. |
V get(K key) | key에 해당하는 value 값을 반환한다. |
boolean isEmpty( ) | Map이 비었는지 여부를 반환한다. |
boolean containsKey(Object key) | Map에 해당 key가 있는지 여부를 반환한다. |
boolean containsValue(Object value) | Map에 해당 value가 있는지 여부를 반환한다. |
Set keyset( ) | key 집합을 Set로 반환한다. (중복 안 되므로 Set) |
Collection values( ) | value를 Collection으로 반환한다. (중복 무관) |
V remove(key) | key가 있는 경우 삭제한다. |
boolean remove(Object key, Object value) | key가 있는 경우 key에 해당하는 value가 매개변수와 일치할 경우 삭제한다. |
'프로그래밍 > JAVA' 카테고리의 다른 글
12-4 Set 인터페이스 (0) | 2023.03.08 |
---|---|
12-3 List 인터페이스 (0) | 2023.03.08 |
12-1 제네릭 (0) | 2023.03.07 |
11-3 Wrapper 클래스 (0) | 2023.03.06 |
11-2 String 클래스 (0) | 2023.03.06 |