728x90
자바 컬렉션 프레임워크(Java Collection Framework)는 데이터 그룹을 효율적으로 처리할 수 있게 해주는 표준화된 아키텍처를 제공합니다. 이 프레임워크는 다양한 인터페이스와 이를 구현한 클래스들로 구성되어 있으며, 각각의 컬렉션은 데이터를 저장하고 처리하는 특정한 방식을 제공합니다. 컬렉션 프레임워크의 주요 인터페이스에는 List, Set, Queue, Map 등이 있습니다.
1. List
순서가 있는 데이터의 집합을 다루며, 데이터의 중복을 허용합니다.
- 주요 구현 클래스: ArrayList, LinkedList, Vector
import java.util.ArrayList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Seoul");
list.add("New York");
list.add("Sydney");
for (String city : list) {
System.out.println(city);
}
}
}
2. Set
중복을 허용하지 않는 데이터 집합을 다룹니다. 순서를 보장하지 않습니다.
- 주요 구현 클래스: HashSet, LinkedHashSet, TreeSet
import java.util.HashSet;
import java.util.Set;
public class SetExample {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
set.add("Java");
set.add("Python");
set.add("Java");
System.out.println(set); // 중복된 "Java"는 한 번만 출력됩니다.
}
}
3. Queue
데이터를 일정한 순서대로 처리하기 위한 컬렉션입니다. FIFO(First In First Out) 구조를 가집니다.
- 주요 구현 클래스: LinkedList, PriorityQueue
import java.util.LinkedList;
import java.util.Queue;
public class QueueExample {
public static void main(String[] args) {
Queue<String> queue = new LinkedList<>();
queue.offer("Java");
queue.offer("Python");
queue.offer("C++");
while (!queue.isEmpty()) {
System.out.println(queue.poll());
}
}
}
4. Map
키(Key)와 값(Value) 쌍으로 이루어진 데이터의 집합을 다룹니다. 키는 중복될 수 없습니다.
- 주요 구현 클래스: HashMap, LinkedHashMap, TreeMap
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("Java", 20);
map.put("Python", 15);
map.put("C++", 5);
for (String key : map.keySet()) {
System.out.println(key + " : " + map.get(key));
}
}
}
'웹개발 > java' 카테고리의 다른 글
롬복(Lombok) 라이브러리 (0) | 2024.03.30 |
---|---|
자바 열거형 enum (0) | 2024.03.30 |
자바 디자인패턴 (0) | 2024.03.27 |
자바 JVM(Java Virtual Machine) (0) | 2024.03.27 |
자바 상속 (1) | 2024.03.19 |