🔹 1) 배열 (int[])
int[] arr = new int[5]; // 크기 5인 배열
int[] arr2 = {1, 2, 3, 4, 5}; // 배열 초기화
🔹 2) 리스트 (ArrayList)
- 배열보다 크기 변경이 자유로움
import java.util.ArrayList;
ArrayList<Integer> list = new ArrayList<>();
list.add(10); // 추가
list.add(20);
System.out.println(list.get(0)); // 첫 번째 원소
list.remove(0); // 첫 번째 원소 삭제
System.out.println(list.size()); // 리스트 크기
🔹 3) 해시맵 (HashMap)
- Key-Value 저장, 탐색이 빠름 (O(1))
import java.util.HashMap;
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 3); // 추가
map.put("banana", 5);
System.out.println(map.get("apple")); // 3
map.remove("banana"); // 삭제
System.out.println(map.containsKey("apple")); // true
🔹 4) 스택 (Stack)
- LIFO(Last In, First Out)
import java.util.Stack;
Stack<Integer> stack = new Stack<>();
stack.push(10); // 추가
stack.push(20);
System.out.println(stack.peek()); // 20 (맨 위 요소 확인)
System.out.println(stack.pop()); // 20 (맨 위 요소 꺼내기)
🔹 5) 큐 (Queue - LinkedList)
- FIFO(First In, First Out)
import java.util.LinkedList;
import java.util.Queue;
Queue<Integer> queue = new LinkedList<>();
queue.add(10); // 추가
queue.add(20);
System.out.println(queue.poll()); // 10 (맨 앞 요소 꺼내기)
System.out.println(queue.peek()); // 20 (맨 앞 요소 확인)
🔹 6) 덱 (Deque)
- 양방향으로 추가/삭제 가능 (ArrayDeque 추천)
import java.util.ArrayDeque;
import java.util.Deque;
Deque<Integer> deque = new ArrayDeque<>();
deque.addFirst(10); // 앞에 추가
deque.addLast(20); // 뒤에 추가
System.out.println(deque.pollFirst()); // 10 (앞에서 꺼내기)
System.out.println(deque.pollLast()); // 20 (뒤에서 꺼내기)
'Java > 알고리즘' 카테고리의 다른 글
[Java] 자바 알고리즘 풀 때 int vs long 언제 써야할까? (0) | 2025.03.23 |
---|---|
빠른 입력 (Scanner vs BufferedReader) (0) | 2025.03.12 |