Java Collection API 정리
예외 처리(Exception Handling)
📌 개요
Java Collection은 데이터를 효율적으로 저장, 탐색, 수정할 수 있게 하는 자료구조 모음입니다.
📂 계층 구조
Iterable
└─ Collection
├─ List
└─ Set
Map (별도 인터페이스)
| 종류 | 중복 | 순서 | 주요 클래스 |
|---|---|---|---|
| List | O | O | ArrayList, LinkedList |
| Set | X | X/O | HashSet, TreeSet |
| Map | Key: X, Value: O | Key 기준 | HashMap, TreeMap |
📌 주요 클래스 특징
1. ArrayList: 빠른 인덱스 접근, 배열 기반
2. LinkedList: 삽입/삭제에 유리
3. HashSet: 순서 없음, 중복 제거
4. TreeSet: 정렬된 Set
5. HashMap: Key-Value 구조, 빠른 검색
6. TreeMap: Key 기준 정렬
📌 Collections 유틸 클래스
List<Integer> list = Arrays.asList(3, 1, 2);
Collections.sort(list); // 정렬
Collections.reverse(list); // 역순
Collections.max(list); // 최대값
📌 예외란?
프로그램 실행 중 발생하는 예기치 않은 상황입니다.
Java에서는 예외를 try-catch문으로 처리하고, 프로그램의 비정상 종료를 방지합니다.
📂 예외 종류
| 예외 | 설명 | 예시 |
|---|---|---|
| Checked Exception | 컴파일 시 확인 | IOException, SQLException |
| Unchecked Exception | 런타임 시 발생 | NullPointerException, ArithmeticException |
📌 기본 구조
try {
int a = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("0으로 나눌 수 없습니다");
} finally {
System.out.println("항상 실행됨");
}
📌 예외 던지기
public void readFile(String path) throws IOException {
FileReader fr = new FileReader(path);
}
throws를 통해 메서드에서 예외를 호출자에게 전가할 수 있습니다.
🎯 마무리 요약
| 항목 | 핵심 요약 |
|---|---|
| Collection API | List/Set/Map 계층 구조, 자료구조 사용 목적에 따라 선택 |
| Abstract Class | 공통 기능은 구현, 나머지는 하위 클래스에 위임 |
| Exception | 예외 상황 대응, try-catch-finally, throws |