PriorityQueue는 자바에서 제공하는 우선순위 큐(Priority Queue) 구현체로, 요소를 우선순위에 따라 자동으로 정렬하여 관리하는 자료구조입니다. 내부적으로 힙(Heap) 자료구조를 기반으로 하며, 최소 힙(Min-Heap)을 기본으로 사용합니다.1. 🌐 PriorityQueue란?1.1 주요 특징자동 정렬: 삽입된 요소는 우선순위에 따라 정렬됩니다.(기본적으로 오름차순으로 정렬되며, 사용자 정의 정렬 순서를 지정할 수 있습니다.)FIFO가 아닌 우선순위 기반 처리:일반적인 큐(FIFO)와 다르게, 요소는 우선순위가 높은 순서대로 처리됩니다.중복 요소 허용:동일한 값을 여러 번 삽입할 수 있습니다.내부적으로 힙(Heap) 자료구조를 사용하여 정렬 및 삽입/삭제 작업을 효율적으로 수행합니..
자바 큐
자바에서 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의 모든..
💻 Java Collection?Java의 컬렉션 프레임워크는 데이터를 효율적으로 저장하고 조작할 수 있는 다양한 인터페이스와 클래스를 제공합니다. 이 포스트에서는 Deque와 Queue의 성능 차이, ArrayDeque와 LinkedList의 성능 비교, 그리고 Map에서 키를 비교하는 방법에 대해 알아보겠습니다.🔹 Deque와 Queue의 성능 차이Deque(Double-Ended Queue)와 Queue는 모두 Java에서 큐 자료구조를 구현한 인터페이스입니다. 하지만 이 둘은 기능적 차이뿐만 아니라, 성능 면에서도 약간의 차이가 있습니다.Queue: 큐는 기본적으로 FIFO(First-In-First-Out) 방식으로 동작하는 자료구조입니다. 가장 많이 사용되는 구현체는 LinkedList와 ..