Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

Queue 본문

Java/자료구조

Queue

Seung__ 2021. 6. 6. 14:34

1.Queue란?


Queue를 사전에서 찾으면 순서를 기다리는 열을 의미한다.

 

즉 순서를 기다린다는 것은 롯데월드가서 아틀란티스 타려고 줄서는 것을 의미한다.

 

이것을 data와 연결하면 data가 순서대로 입력되고 가장 먼저 입력된  data부터 처리되는 것을 의미.

 

순서대로 접수? 입력을 받고 그 순서대로 처리가 필요한 곳에 사용이 가능할 듯 하다.

 

 

 

2. Enqueue관련 method


1) add(element) 

 queue 가장 뒤에 element를 insert한다.

성공하면 true를 반환한다. 만약 queue에 공간이 없어 입력에 실패하면  IllegalStateException을 반환한다.

 

2) offer(element)

성공하면 true, 실패하면 false를 반환한다.(add와 가장 큰 차이)

일반적으로 용량이 제한된 queue를 사용할 경우에 선호된다. add는 실패할 경우 exeption을 발생시키기 때문.

 

 

 

3. Dequeue관련 method


 1) remove() 

    head의 값을 꺼내온다.
    queue가 empty인 경우 NoSuchElementException 반환.

 

 2) poll() 

    head의 값을 꺼내온다. queue가 empty일 경우 null을 반환단다.

 

 

4. 기타 method


 1) clear()

    queue를 싹 지워버림

 2) peek()

    head의 값을 참조할 수 있음. 

 

 

5. 예제


public class QueueExample {

    public static void main(String[] args) {

        Queue<Integer> queue = new LinkedList<>() {};

        queue.add(1);
        queue.add(2);
        queue.add(3);
        queue.add(4);
        queue.add(5);
        System.out.println("queue : " + queue.toString());


        queue.add(6);
        System.out.println("add(6) : " + queue.toString());

        queue.offer(7);
        System.out.println("offer(7) : " + queue.toString());

        queue.remove();
        System.out.println("첫 번째 값 꺼내기 remove() : " + queue.toString());

        queue.poll();
        System.out.println("첫 번째 값 꺼내기 poll() : " + queue.toString());


        System.out.println("첫 번째 값 참조 peek() : " + queue.peek());

        queue.clear();
        System.out.println("claer() : " + queue.toString());

        queue.poll();
        System.out.println("첫 번째 값 꺼내기 poll(), 비어있으면 null : " + queue.toString());

    }
}

실행 결과

queue : [1, 2, 3, 4, 5]
add(6) : [1, 2, 3, 4, 5, 6]
offer(7) : [1, 2, 3, 4, 5, 6, 7]
첫 번째 값 꺼내기 remove() : [2, 3, 4, 5, 6, 7]
첫 번째 값 꺼내기 poll() : [3, 4, 5, 6, 7]
첫 번째 값 참조 peek() : 3
claer() : []
첫 번째 값 꺼내기 poll(), 비어있으면 null : []

'Java > 자료구조' 카테고리의 다른 글

자료구조-비선형  (0) 2021.10.24
자료구조 - 선형  (0) 2021.10.23
Map, HashMap  (0) 2021.07.22
Linked List :연결 리스트  (0) 2021.06.06
Stack  (0) 2021.06.02
Comments