[TIL][02.14] Stack, Queue, PriorityQueue, Heap, Scanner

2025. 2. 16. 00:46· [LG 유플러스] 유레카/Today I Learned
목차
  1. Collections
  2. Stack
  3. Queue
  4. PriorityQueue
  5. Scanner

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
  1. Collections
  2. Stack
  3. Queue
  4. PriorityQueue
  5. Scanner
'[LG 유플러스] 유레카/Today I Learned' 카테고리의 다른 글
  • [TIL][02.20] 그래프, DFS, BFS, 인접행렬, 인접리스트
  • [TIL][02.19] 비선형 자료구조, 트리, 이진트리, 이진검색, 분할정복
  • [TIL][02.13] 재귀, Serialization, 배열, Exception
  • [TIL][02.12] Generic, 와일드 카드, Collection, ArrayList, LinkedList, Hashset, TreeSet, HashMap
leeemingyu
leeemingyu
leeemingyu
ye
leeemingyu

블로그 메뉴

  • GitHub
  • Instagram
    전체
    오늘
    어제
    • 전체보기 (68)
      • GDSC (4)
        • 실시간 채팅 구현 (4)
      • [LG 유플러스] 유레카 (63)
        • Today I Learned (37)
        • 코딩테스트 (22)
        • 프로젝트 (4)

    공지사항

    인기 글

    최근 댓글

    최근 글

    hELLO · Designed By 정상우.v4.2.2
    leeemingyu
    [TIL][02.14] Stack, Queue, PriorityQueue, Heap, Scanner
    상단으로

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.