📌 Java 컬렉션
1. 배열(Array) vs 컬렉션(Collection)
- 배열(Array)
- 메모리가 연속적으로 할당됨
- 크기가 고정 → 한 번 정하면 변경 불가
- 컬렉션(Collection)
- 동적으로 크기 조절 가능
- 객체만 저장 가능 (기본형은 Wrapper 클래스 사용)
- 인터페이스 기반으로 설계되어 다양한 구현체 제공
2. 컬렉션의 종류
- (1) List
- 순서 O, 중복 O
- 대표 클래스 : ArrayList, LinkedList, Vector
- 예: 회원 목록, 게시판 댓글
- 순서 X, 중복 X
- 대표 클래스 : HashSet, TreeSet
- 예: 중복 없는 데이터 관리 (ID, 이메일, 집합)
- Key-Value 쌍으로 저장
- Key는 중복 X, Value는 중복 O
- 대표 클래스 : HashMap, TreeMap, Hashtable
- 예: 사전(Dictionary), 회원 정보(아이디-비밀번호)
3. 인터페이스 구조 (간단도식)
Collection (인터페이스)
├── List (순서O, 중복O)
│ ├── ArrayList
│ ├── LinkedList
│ └── Vector
│
└── Set (순서X, 중복X)
├── HashSet
└── TreeSet
Map (인터페이스, Collection과 별도)
├── HashMap
├── TreeMap
└── Hashtable
import java.util.*;
public class CollectionBasic {
public static void main(String[] args) {
// List : 순서 O, 중복 O
List<String> list = new ArrayList<>();
list.add("펭구");
list.add("모코코");
list.add("펭구"); // 중복 허용
System.out.println("List : " + list);
// Set : 순서 X, 중복 X
Set<String> set = new HashSet<>();
set.add("펭구");
set.add("모코코");
set.add("펭구"); // 중복 제거됨
System.out.println("Set : " + set);
// Map : Key-Value 구조
Map<String, String> map = new HashMap<>();
map.put("모코코", "1234");
map.put("펭구", "5678");
map.put("모코코", "9999"); // key 중복 → value 덮어씀
System.out.println("Map : " + map);
}
}
List : [펭구, 모코코, 펭구]
Set : [모코코, 펭구] // 순서 보장 안 됨
Map : {모코코=9999, 펭구=5678}
정리
- Collection : 여러 데이터를 묶어서 관리하는 자료구조 클래스 모음
- List : 순서 있음, 중복 허용 → 데이터 나열할 때
- Set : 순서 없음, 중복 불가 → 집합/고유 데이터 관리할 때
- Map : 키-값 쌍 → 검색/매핑 구조에 강력
'기초 및 언어 > ▶ Java&JSP' 카테고리의 다른 글
| 32. Vector와 Enumeration (1) | 2025.08.26 |
|---|---|
| 31. ArrayList (5) | 2025.08.24 |
| 29. Generic (1) | 2025.08.22 |
| 28. Calendar, Date, SimpleDataFormat (0) | 2025.08.22 |
| 27. 패키지 - String (3) | 2025.08.22 |