Collections
Stack
LIFO(Last In First Out) 방식으로 동작
스택 메모리 구조
- 시스템 스택
함수 호출 시 시스템이 사용하는 스택 (ex. 함수 호출 스택)
우리가 직접 제어할 수 없음 (push/pop 불가능)
- 인스턴스 스택
우리가 만든 스택 객체에서 사용되는 공간
직접 push/pop 가능
스택 주요 메서드
empty() : 스택이 비었는지 확인 (비었으면 true, 아니면 false)
peek() : 스택의 맨 위 요소를 반환
pop() : 스택의 맨 위 요소를 반환하고 제거
push() : 스택의 맨 위에 요소 추가
search() : 요소의 위치 반환
Queue
FIFO(First In First Out) 방식으로 동작
동적으로 크기 조절이 가능한 LinkedList를 가장 많이 사용
큐 주요 메서드
offer() : 큐의 맨 마지막에 요소 추가
poll() :큐의 맨 앞 요소 반환 후 제거
peek() : 큐의 맨 앞 요소 반환
isEmpty() : 큐가 비었는지 확인
PriorityQueue
정렬기능이 있는 큐, 완전이진트리, 디폴트는 최소힙, 추가/삭제는 O(log n), 검색은 O(n)
Queue<Integer> pq=new PriorityQueue(Collections.reverseOrder()); //PriorityQueue를 최대힙으로 만드는 방법
Scanner
사용자로부터 입력을 받을 때 사용하는 클래스
nextLine() 은 Enter 를 문자열로 인식함
- nextInt(), nextDouble() 등은 숫자만 읽기 때문에 Enter를 인식하지 않음
- nextLine()은 Enter 을 읽어버리기 때문에 명시적으로 버려야 함.(sc.nextLine())
sc.close()로 리소스 해제
'[LG 유플러스] 유레카 > Today I Learned' 카테고리의 다른 글
[TIL][02.20] 그래프, DFS, BFS, 인접행렬, 인접리스트 (0) | 2025.02.21 |
---|---|
[TIL][02.19] 비선형 자료구조, 트리, 이진트리, 이진검색, 분할정복 (0) | 2025.02.20 |
[TIL][02.13] 재귀, Serialization, 배열, Exception (0) | 2025.02.13 |
[TIL][02.12] Generic, 와일드 카드, Collection, ArrayList, LinkedList, Hashset, TreeSet, HashMap (0) | 2025.02.12 |
[TIL][02.11] Modifier, Interface, String, Wrapper, Inner, lambda, Generics, Comparable, Comparator (0) | 2025.02.12 |