자바에서 Queue 인터페이스는 기본적인 단방향 큐(FIFO)를 정의하는데 사용됩니다. 하지만, 실제로 Queue 대신 Deque를 사용하여 동일한 동작을 구현해도 성능에 문제가 없습니다. Deque는 큐와 스택 동작을 모두 지원하므로, Queue의 모든 기능을 충분히 대체할 수 있습니다.1. 🌐 Queue와 Deque의 차이1.1 Queue의 특징단방향 삽입/삭제만 가능하며, FIFO(First In, First Out) 동작을 따릅니다.주요 메서드:삽입: add(E e), offer(E e)삭제: poll(), remove()조회: peek(), element()1.2 Deque의 특징양방향 삽입/삭제가 가능하지만, 단방향 동작도 구현 가능합니다.Deque를 단방향 큐로 사용하면, Queue의 모든..
deque
💻 Java Collection?Java의 컬렉션 프레임워크는 데이터를 효율적으로 저장하고 조작할 수 있는 다양한 인터페이스와 클래스를 제공합니다. 이 포스트에서는 Deque와 Queue의 성능 차이, ArrayDeque와 LinkedList의 성능 비교, 그리고 Map에서 키를 비교하는 방법에 대해 알아보겠습니다.🔹 Deque와 Queue의 성능 차이Deque(Double-Ended Queue)와 Queue는 모두 Java에서 큐 자료구조를 구현한 인터페이스입니다. 하지만 이 둘은 기능적 차이뿐만 아니라, 성능 면에서도 약간의 차이가 있습니다.Queue: 큐는 기본적으로 FIFO(First-In-First-Out) 방식으로 동작하는 자료구조입니다. 가장 많이 사용되는 구현체는 LinkedList와 ..
🖥️ 1. Java에서의 Deque 소개Deque는 "double ended queue"의 약자로, 양쪽 끝에서 요소를 추가하거나 제거할 수 있는 선형 컬렉션입니다. Java에서는 Deque 인터페이스를 통해 이 구조를 정의하고 있으며, 이는 java.util 패키지 안에 위치해 있습니다.기본 작동 원리Deque 인터페이스는 요소를 두 개의 끝에 추가하거나 제거할 수 있게 해주므로, 스택이나 큐의 기능을 모두 구현할 수 있습니다. 이러한 특성 덕분에 매우 유연한 데이터 구조로서 다양한 상황에서 활용될 수 있습니다.스택처럼 사용할 때는 push(), pop(), peek() 메서드를 사용하고,큐처럼 사용할 때는 addLast(), removeFirst(), peekFirst() 등을 사용합니다.추가 메소..