-
[자바(JAVA)] Stack & Queue의 구조와 특징자바의 정석 2023. 7. 20. 21:04728x90
🔷 Stack (밑이 막힌 상자)
- LIFO구조로 마지막에 저장된 것을 제일 먼저 꺼내게 된다.
Stack & Queue는 컴퓨터 프로그래밍에서 가장 많이 사용되는 기본적인 구조이다.
- 입력: 0 -> 1 -> 2
- 출력: 2 -> 1 -> 0
Stack은 가장 마지막부터 꺼내기 때문에 배열이 효율적이다.
🔷 Queue(양 끝이 뚫린 상자)
- FIFO 구조로 제일 먼저 저장한것을 제일 먼저 꺼낸다.
- 입력: 0 -> 1-> 2
- 출력: 0 -> 1-> 2
Queue는 LinkedList로 구현하는게 더 적합하다.
- remove()와 poll()은 예외발생 유무에서 차이가 있다.
- remove() -> try-catch로 처리
- poll() -> ==null 여부로 확인
- 나머지도 동일한 차이임
Queue는 인터페이스로만 정의되었고 클래스는 없다. 사용이 필요할 경우 Queue인터페이스로 구현된 클래스를 선택해서 사용한다.
👉LinkedList도 Queue인터페이스를 구현한 클래스임
728x90'자바의 정석' 카테고리의 다른 글
[자바(JAVA)] Iterator, ListIterator, Enumeration (0) 2023.07.23 [자바(JAVA)] Stack & Queue의 활용(PriorityQueue, Deque) (0) 2023.07.23 [자바(JAVA)] ArrayList의 삭제과정, ArrayList전체삭제 방법 (0) 2023.07.20 [자바(JAVA)] ArrayList의 정의와 메서드정리 (0) 2023.07.20 [자바(JAVA)] 컬렉션 프레임웍 /List, Set, HashSet, TreeSet, Map의 정의와 사용메서드 정리 (0) 2023.07.19