In Java 21, the LinkedHashSet
class introduced the addFirst()
method, allowing elements to be added as the first element of the collection. Additionally, a real-world use case will be provided to illustrate the method’s practical application.
Table of Contents
- Introduction
addFirst
Method Syntax- Examples
- Adding an Element as the First Element in LinkedHashSet
- Maintaining Insertion Order with
addFirst
- Real-World Use Case
- Use Case: Task Management System
- Conclusion
Introduction
The LinkedHashSet.addFirst()
method is a new addition in Java 21 that allows you to add an element as the first element of the LinkedHashSet
. This method helps maintain the desired insertion order by explicitly adding elements to the beginning of the set.
addFirst Method Syntax
The syntax for the addFirst
method is as follows:
public void addFirst(E e)
- The method takes a single parameter
e
of typeE
, which represents the element to be added to theLinkedHashSet
. - The method does not return any value.
Examples
Adding an Element as the First Element in LinkedHashSet
The addFirst
method can be used to add an element at the beginning of a LinkedHashSet
.
Example
import java.util.LinkedHashSet;
public class AddFirstExample {
public static void main(String[] args) {
// Creating a LinkedHashSet of Strings
LinkedHashSet<String> animals = new LinkedHashSet<>();
// Adding elements to the LinkedHashSet
animals.add("Lion");
animals.add("Tiger");
animals.add("Elephant");
// Adding an element as the first element
animals.addFirst("Giraffe");
// Printing the LinkedHashSet
System.out.println("LinkedHashSet after addFirst: " + animals);
}
}
Output:
LinkedHashSet after addFirst: [Giraffe, Lion, Tiger, Elephant]
Maintaining Insertion Order with addFirst
When you use addFirst
, the new element is added to the beginning of the set, and the previous elements shift accordingly.
Example
import java.util.LinkedHashSet;
public class AddFirstOrderExample {
public static void main(String[] args) {
// Creating a LinkedHashSet of Strings
LinkedHashSet<String> animals = new LinkedHashSet<>();
// Adding elements to the LinkedHashSet
animals.add("Lion");
animals.add("Tiger");
// Adding an element as the first element
animals.addFirst("Giraffe");
// Adding another element as the first element
animals.addFirst("Zebra");
// Printing the LinkedHashSet
System.out.println("LinkedHashSet after multiple addFirst: " + animals);
}
}
Output:
LinkedHashSet after multiple addFirst: [Zebra, Giraffe, Lion, Tiger]
Real-World Use Case
Use Case: Task Management System
In a task management system, tasks are typically displayed in the order they were added. However, there are scenarios where a task might need to be prioritized and moved to the top of the list. The addFirst
method can be used to achieve this functionality.
Example
import java.util.LinkedHashSet;
public class TaskManagementSystem {
public static void main(String[] args) {
// Creating a LinkedHashSet to store tasks
LinkedHashSet<String> tasks = new LinkedHashSet<>();
// Adding initial tasks
tasks.add("Complete project report");
tasks.add("Email client updates");
tasks.add("Prepare presentation");
// Adding a high-priority task at the beginning
tasks.addFirst("Resolve critical bug");
// Printing the tasks in order of priority
System.out.println("Tasks in order of priority: " + tasks);
}
}
Output:
Tasks in order of priority: [Resolve critical bug, Complete project report, Email client updates, Prepare presentation]
Conclusion
The LinkedHashSet.addFirst()
method introduced in Java 21 provides a way to add elements at the beginning of a LinkedHashSet
. By understanding how to use this method, you can efficiently manage the order of elements in your collections. This method ensures that you can explicitly control the insertion order, making it a valuable tool for collection management in your Java applications. The real-world use case of a task management system illustrates the practical application of this method in prioritizing tasks.