열심히 끝까지

38강 컬렉션 프레임 웍3 / 큐 / 스택 본문

멘토씨리즈 JAVA

38강 컬렉션 프레임 웍3 / 큐 / 스택

노유림 2022. 5. 7. 22:23

복습
컬렉션 프레임웍(Collection Frameword) 
    : 데이터를 효율적으로 다루기 위한 클래스의 집합
자료구조(Data Structure)
    : 자료들을 저장할 때, 효율적인 구조로 저장하는 것(데이터의 구조)
컬렉션프레임워크
    : 자바에서 제공하는 자료구조
<컬렉션 프레임 워크의 종류>
- Set 인터페이스 : 집합, 중복된 데이터를 갖지 않으며 저장 순서를 유지하지 않는 자료구조
      -> 대표 클래스 : HashSet, TreeSet
List 인터페이스 : 데이터를 일렬로 늘어놓은 구조, 중복을 허용하고 저장 순서를 유지
      -> 대표 클래스 : ArrayList, LinkedList

38-1 ) Queue(큐)
       Queue(큐)?
             : 한 쪽 끝에서는 삽입이 다른 쪽 끝에서는 삭제가 일어나는 구조
                  Queue                                             
       삭제 <-      [             |              |              |              ]        <- 삽입
                          ㄴ> front                                 ㄴ> rear    
                  : 저장된 원소 중에서                     : 저장된 원소 중에서
                     첫 번째 원소                                   마지막 원소

        *큐의 특징
             - 선입선출(FIFO : First In First Out)의 구조
             - front(머리) : 삭제, rear(꼬리) : 삽입

        [큐와 관련된 메서드]


 
           -> Queue는 인터페이스 이므로, 사용하려면 업 캐스팅 필요

        [큐 사용법]
           1) Queue<Element> q = new LinkedList<Element>(); 
                     -> 주로 사용
           2) Queue<Element> q = new Array<Element>();

        <실습>QueueEx


38-2 ) Stack(스택)
       Stack(스택)?
             : 한 쪽 끝에서 삽입과 삭제가 모두 일어나는 구조

           <----------- in&out 
      [   C  ]     스택 상단(top)
      [   B  ]               <- A, B, C : 요소
      [   A  ]     스택 하단(bottom)


       스택의 특징
             - 후입선출(LIFO : Last In First Out)의 구조
             - top : 삽입, 삭제
             - Vector의 자식 클래스

       [스택과 관련된 메서드]
       


           -> Stack은 클래스이므로, 바로 사용 가능

       <실습>StackEx