[Java] Chapter 4. Queue

이지현·2023년 4월 10일
0

Java

목록 보기
40/46
post-thumbnail

✔️ Queue

  • FIFO - First in First out
import java.util.LinkedList;
import java.util.Queue; // FIFO - First in First out
import java.util.Deque; // 양방향

public class practiceQueue {
    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();

        // queue에 값 넣기
        queue.offer(1);
        queue.offer(2);
        queue.offer(3);
        queue.offer(4);
        queue.offer(5);

        System.out.println(queue); // [1, 2, 3, 4, 5]

        // queue에 값 꺼내기
        queue.poll();
        System.out.println(queue); // [2, 3, 4, 5]
        queue.poll();
        System.out.println(queue); // [3, 4, 5]
        queue.poll();
        System.out.println(queue); // [4, 5]

        // queue 조회
        System.out.println(queue.peek()); // 4

        System.out.println("=======================Deque==========================");
        Deque<Integer> deque = new LinkedList<>();

        // deque에 값 넣기
        deque.offerFirst(1);
        System.out.println(deque); // [1]

        deque.offerLast(2);
        System.out.println(deque); // [1, 2]

        deque.offerFirst(3);
        System.out.println(deque); // [3, 1, 2]

        deque.offerLast(4);
        System.out.println(deque); // [3, 1, 2, 4]

        // deque에 값 꺼내기
        deque.pollFirst();
        System.out.println(deque); // [1, 2, 4]
        deque.pollLast();
        System.out.println(deque); // [1, 2]

        // deque 값 조회
        deque.peek();
        System.out.println(deque); // [1, 2]
    }
}

✔️ Deque(Double-Ended Queue)

  • 양방향에서 삽입/삭제 가능
import java.util.LinkedList;
import java.util.Deque;

public class practiceDeque {
    public static void main(String[] args) {
        Deque<Integer> deque = new LinkedList<>();

        // deque에 값 넣기
        deque.offerFirst(1);
        System.out.println(deque); // [1]

        deque.offerLast(2);
        System.out.println(deque); // [1, 2]

        deque.offerFirst(3);
        System.out.println(deque); // [3, 1, 2]

        deque.offerLast(4);
        System.out.println(deque); // [3, 1, 2, 4]

        // deque에 값 꺼내기
        deque.pollFirst();
        System.out.println(deque); // [1, 2, 4]
        deque.pollLast();
        System.out.println(deque); // [1, 2]

        // deque 값 조회
        deque.peek();
        System.out.println(deque); // [1, 2]
    }
}
profile
2022.08 ~ 2023.09 / 현재 티스토리 이전 : https://jihyun-devstory.tistory.com/

0개의 댓글