
1. List
List는 순서가 있는 컬렉션으로, 중복된 요소를 허용합니다. 대표적 구현체로는 ArrayList와 LinkedList가 있습니다.
import java.util.ArrayList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
for (String fruit : list) {
System.out.print(fruit);
}
}
}
2. Set
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("Apple");
set.add("Banana");
set.add("Apple");
for (String fruit : set) {
System.out.println(fruit);
}
}
}
3. Map
Map은 키-값 쌍으로 데이터를 저장하는 컬렉션으로, 키는 중복될 수 없으며, 대표적 구현체로는 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("Apple", 1);
map.put("Banana", 2);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
4. Iterator
Iterator는 컬렉션의 요소를 순회할 수 있는 방법을 제공합니다. Iterator를 사용하면 컬렉션에서 요소를 안전하게 제거할 수 있습니다.
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String fruit = iterator.next();
if (fruit.equals("Banana")) {
iterator.remove();
}
}
System.out.println(list); // [Apple, Orange]
}
}
5. 가비지 컬렉션
Java에서 가비지 컬렉션은 자동으로 메모리를 관리하는 메커니즘으로, 더 이상 참조되지 않는 객체를 자동으로 해체하여 메모리를 회수합니다. 가비지 컬렉션의 작동 원리로는 두 가지가 있습니다.
- Mark-and-Sweep 알고리즘: 사용 중인 객체를 표시하고, 표시되지 않은 객체를 메모리에서 해체
- System.gc(): 가비지 컬렉션을 강제로 요청할 수 있지만, 호출이 반드시 가비지 컬렉션을 수행하지 않음
public class GarbageCollection {
public static void main(String[] args) {
Object obj = new Object();
obj = null;
System.gc();
}
}
GitHub - Koras02/java-bloging: https://thinky.tistory.com/category/Back-End/Java
https://thinky.tistory.com/category/Back-End/Java. Contribute to Koras02/java-bloging development by creating an account on GitHub.
github.com
LIST
'Back-End > Java' 카테고리의 다른 글
[Java] 8장 try-catch 문 (0) | 2025.03.18 |
---|---|
[Java] 7장 인터페이스 (0) | 2025.03.08 |
[Java] 6장 상속과 다형성 (0) | 2025.03.06 |
[Java] 5장 클래스와 객체 (0) | 2025.03.02 |
[Java] 4장 메서드 작성 (0) | 2025.02.26 |