Java PriorityQueue clear() Method

📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.

🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.

▶️ Subscribe to My YouTube Channel (176K+ subscribers): Java Guides on YouTube

▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube

In Java, the PriorityQueue class provides the clear() method to remove all elements from the queue.

Table of Contents

  1. Introduction
  2. clear Method Syntax
  3. Examples
    • Clearing Elements from a PriorityQueue
    • Handling an Already Empty PriorityQueue
  4. Real-World Use Case
    • Use Case: Task Management System
  5. Conclusion

Introduction

The PriorityQueue.clear() method is used to remove all elements from the PriorityQueue. This method is useful when you need to reset the queue, ensuring that it is empty and ready for new elements.

clear Method Syntax

The syntax for the clear method is as follows:

public void clear() 
  • The method does not take any parameters.
  • The method does not return any value.

Examples

Clearing Elements from a PriorityQueue

The clear method can be used to remove all elements from a PriorityQueue.

Example

import java.util.PriorityQueue; public class PriorityQueueClearExample { public static void main(String[] args) { // Creating a PriorityQueue of Strings PriorityQueue<String> tasks = new PriorityQueue<>(); // Adding elements to the PriorityQueue tasks.add("Complete project report"); tasks.add("Email client updates"); tasks.add("Prepare presentation"); // Printing the PriorityQueue before clearing System.out.println("PriorityQueue before clear: " + tasks); // Clearing the PriorityQueue tasks.clear(); // Printing the PriorityQueue after clearing System.out.println("PriorityQueue after clear: " + tasks); } } 

Output:

PriorityQueue before clear: [Complete project report, Email client updates, Prepare presentation] PriorityQueue after clear: [] 

Handling an Already Empty PriorityQueue

When the PriorityQueue is already empty, calling clear will simply leave the queue empty without any exceptions.

Example

import java.util.PriorityQueue; public class EmptyPriorityQueueClearExample { public static void main(String[] args) { // Creating an empty PriorityQueue of Strings PriorityQueue<String> tasks = new PriorityQueue<>(); // Printing the PriorityQueue before clearing System.out.println("PriorityQueue before clear: " + tasks); // Clearing the PriorityQueue tasks.clear(); // Printing the PriorityQueue after clearing System.out.println("PriorityQueue after clear: " + tasks); } } 

Output:

PriorityQueue before clear: [] PriorityQueue after clear: [] 

Real-World Use Case

Use Case: Task Management System

In a task management system, there may be scenarios where you need to clear all tasks from the queue, such as when resetting the system or starting a new project cycle. The clear method can be used to achieve this functionality.

Example

import java.util.PriorityQueue; public class TaskManagementSystem { public static void main(String[] args) { // Creating a PriorityQueue to store tasks PriorityQueue<Task> tasks = new PriorityQueue<>(); // Adding initial tasks with different priorities tasks.add(new Task("Complete project report", 2)); tasks.add(new Task("Email client updates", 1)); tasks.add(new Task("Prepare presentation", 3)); // Printing the tasks before clearing System.out.println("Tasks before clear: " + tasks); // Clearing the tasks tasks.clear(); // Printing the tasks after clearing System.out.println("Tasks after clear: " + tasks); } } class Task implements Comparable<Task> { private String description; private int priority; public Task(String description, int priority) { this.description = description; this.priority = priority; } @Override public int compareTo(Task other) { return Integer.compare(this.priority, other.priority); } @Override public String toString() { return description + " (Priority: " + priority + ")"; } } 

Output:

Tasks before clear: [Email client updates (Priority: 1), Complete project report (Priority: 2), Prepare presentation (Priority: 3)] Tasks after clear: [] 

Conclusion

By using PriorityQueue.clear() method, you can easily reset the queue, removing all elements and preparing it for new or elements. This method is particularly useful in applications like task management systems, where you may need to clear and restart the task queue periodically.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare