Skip to content

io microsphere collection QueueUtils

github-actions[bot] edited this page Mar 21, 2026 · 1 revision

QueueUtils

Type: Class | Module: microsphere-java-core | Package: io.microsphere.collection | Since: 1.0.0

Source: microsphere-java-core/src/main/java/io/microsphere/collection/QueueUtils.java

Overview

The utilities class for Java Queue

Declaration

public abstract class QueueUtils implements Utils

Author: Mercy

Version Information

  • Introduced in: 1.0.0
  • Current Project Version: 0.1.10-SNAPSHOT

Version Compatibility

This component is tested and compatible with the following Java versions:

Java Version Status
Java 8 ✅ Compatible
Java 11 ✅ Compatible
Java 17 ✅ Compatible
Java 21 ✅ Compatible
Java 25 ✅ Compatible

Examples

Method Examples

isQueue

Queue<String> queue = new LinkedList<>();
boolean result = isQueue(queue); // returns true

List<String> list = new ArrayList<>();
result = isQueue(list); // returns false

isQueue

boolean result = isQueue(LinkedList.class); // returns true

result = isQueue(ArrayList.class); // returns false

isDeque

Deque<String> deque = new LinkedList<>();
boolean result = isDeque(deque); // returns true

List<String> list = new ArrayList<>();
result = isDeque(list); // returns false

emptyQueue

Queue<String> empty = emptyQueue();
boolean isEmpty = empty.isEmpty(); // returns true
int size = empty.size(); // returns 0

emptyDeque

Deque<String> empty = emptyDeque();
boolean isEmpty = empty.isEmpty(); // returns true
int size = empty.size(); // returns 0

unmodifiableQueue

Queue<String> mutableQueue = new LinkedList<>();
mutableQueue.add("Hello");
Queue<String> unmodifiable = unmodifiableQueue(mutableQueue);

unmodifiable.add("World"); // throws UnsupportedOperationException

unmodifiableDeque

Deque<String> mutableDeque = new LinkedList<>();
mutableDeque.add("Hello");
Deque<String> unmodifiable = unmodifiableDeque(mutableDeque);

unmodifiable.addFirst("World"); // throws UnsupportedOperationException

singletonQueue

Queue<String> singleton = singletonQueue("Hello");
boolean isEmpty = singleton.isEmpty(); // returns false
int size = singleton.size(); // returns 1
String value = singleton.poll(); // returns "Hello"

singletonDeque

Deque<String> singleton = singletonDeque("Hello");
boolean isEmpty = singleton.isEmpty(); // returns false
int size = singleton.size(); // returns 1
String value = singleton.pollFirst(); // returns "Hello"

reversedDeque

Deque<String> deque = new LinkedList<>();
deque.addLast("A");
deque.addLast("B");
deque.addLast("C");

Deque<String> reversed = reversedDeque(deque);
String first = reversed.peekFirst(); // returns "C"
String last = reversed.peekLast();   // returns "A"

// Iterating through the reversed view
for (String value : reversed) {
    System.out.println(value); // prints "C", "B", "A"
}

ofQueue

Queue<String> queue = ofQueue("Hello", "World");
System.out.println(queue); // prints [Hello, World]

Queue<Integer> emptyQueue = ofQueue();
System.out.println(emptyQueue); // prints []

queue.add("Java"); // throws UnsupportedOperationException

newArrayDeque

ArrayDeque<String> deque = newArrayDeque();
deque.add("Hello");
deque.add("World");
System.out.println(deque); // prints [Hello, World]

newArrayDeque

ArrayDeque<String> deque = newArrayDeque(16);
deque.add("Hello");
deque.add("World");
System.out.println(deque); // prints [Hello, World]

newArrayDeque

ArrayDeque<String> deque = newArrayDeque("Hello", "World");
System.out.println(deque); // prints [Hello, World]

ArrayDeque<Integer> emptyDeque = newArrayDeque();
System.out.println(emptyDeque); // prints []

Usage

Maven Dependency

Add the following dependency to your pom.xml:

<dependency>
    <groupId>io.github.microsphere-projects</groupId>
    <artifactId>microsphere-java-core</artifactId>
    <version>${microsphere-java.version}</version>
</dependency>

Tip: Use the BOM (microsphere-java-dependencies) for consistent version management. See the Getting Started guide.

Import

import io.microsphere.collection.QueueUtils;

API Reference

Public Methods

Method Description
isQueue Checks whether the specified Iterable is an instance of Queue.
isQueue Checks whether the specified Class type is an instance of Queue.
isDeque Checks whether the specified Iterable is an instance of Deque.
emptyQueue Returns an empty immutable queue instance.
emptyDeque Returns an empty immutable deque instance.
unmodifiableQueue Returns an unmodifiable view of the given queue.
unmodifiableDeque Returns an unmodifiable view of the given deque.
singletonQueue Returns an immutable queue containing only the specified element.
singletonDeque Returns an immutable deque containing only the specified element.
reversedDeque Returns a reversed view of the specified deque.
ofQueue Creates an immutable queue containing the specified elements.
newArrayDeque Creates a new empty ArrayDeque instance.
newArrayDeque Creates a new ArrayDeque instance with the specified initial capacity.
newArrayDeque Creates a new ArrayDeque instance containing the specified elements.

Method Details

isQueue

public static boolean isQueue(@Nullable Object values)

Checks whether the specified Iterable is an instance of Queue.

Example Usage

`Queue queue = new LinkedList<>();
boolean result = isQueue(queue); // returns true

List list = new ArrayList<>();
result = isQueue(list); // returns false
`

isQueue

public static boolean isQueue(@Nullable Class<?> type)

Checks whether the specified Class type is an instance of Queue.

Example Usage

`boolean result = isQueue(LinkedList.class); // returns true

result = isQueue(ArrayList.class); // returns false
`

isDeque

public static boolean isDeque(Iterable<?> values)

Checks whether the specified Iterable is an instance of Deque.

Example Usage

`Deque deque = new LinkedList<>();
boolean result = isDeque(deque); // returns true

List list = new ArrayList<>();
result = isDeque(list); // returns false
`

emptyQueue

public static <E> Queue<E> emptyQueue()

Returns an empty immutable queue instance.

Example Usage

`Queue empty = emptyQueue();
boolean isEmpty = empty.isEmpty(); // returns true
int size = empty.size(); // returns 0
`

emptyDeque

public static <E> Deque<E> emptyDeque()

Returns an empty immutable deque instance.

Example Usage

`Deque empty = emptyDeque();
boolean isEmpty = empty.isEmpty(); // returns true
int size = empty.size(); // returns 0
`

unmodifiableQueue

public static <E> Queue<E> unmodifiableQueue(Queue<E> queue)

Returns an unmodifiable view of the given queue.

This method wraps the provided queue in an UnmodifiableQueue, which prevents any modifications to the queue. Any attempt to modify the returned queue will result in an UnsupportedOperationException.

Example Usage

`Queue mutableQueue = new LinkedList<>();
mutableQueue.add("Hello");
Queue unmodifiable = unmodifiableQueue(mutableQueue);

unmodifiable.add("World"); // throws UnsupportedOperationException
`

unmodifiableDeque

public static <E> Deque<E> unmodifiableDeque(Deque<E> deque)

Returns an unmodifiable view of the given deque.

This method wraps the provided deque in an UnmodifiableDeque, which prevents any modifications to the deque. Any attempt to modify the returned deque will result in an UnsupportedOperationException.

Example Usage

`Deque mutableDeque = new LinkedList<>();
mutableDeque.add("Hello");
Deque unmodifiable = unmodifiableDeque(mutableDeque);

unmodifiable.addFirst("World"); // throws UnsupportedOperationException
`

singletonQueue

public static <E> Queue<E> singletonQueue(E element)

Returns an immutable queue containing only the specified element.

The returned queue is a singleton instance that holds exactly one element. It is immutable, so any attempt to modify the queue will result in an UnsupportedOperationException.

Example Usage

`Queue singleton = singletonQueue("Hello");
boolean isEmpty = singleton.isEmpty(); // returns false
int size = singleton.size(); // returns 1
String value = singleton.poll(); // returns "Hello"
`

singletonDeque

public static <E> Deque<E> singletonDeque(E element)

Returns an immutable deque containing only the specified element.

The returned deque is a singleton instance that holds exactly one element. It is immutable, so any attempt to modify the deque will result in an UnsupportedOperationException.

Example Usage

`Deque singleton = singletonDeque("Hello");
boolean isEmpty = singleton.isEmpty(); // returns false
int size = singleton.size(); // returns 1
String value = singleton.pollFirst(); // returns "Hello"
`

reversedDeque

public static <E> Deque<E> reversedDeque(Deque<E> deque)

Returns a reversed view of the specified deque.

This method wraps the provided deque in a ReversedDeque, which presents the elements in reverse order. Modifications to the original deque are reflected in the reversed view, and vice versa. However, attempts to modify the reversed view may result in an UnsupportedOperationException depending on the underlying implementation.

Example Usage

`Deque deque = new LinkedList<>();
deque.addLast("A");
deque.addLast("B");
deque.addLast("C");

Deque reversed = reversedDeque(deque);
String first = reversed.peekFirst(); // returns "C"
String last = reversed.peekLast();   // returns "A"

// Iterating through the reversed view
for (String value : reversed) {
    System.out.println(value); // prints "C", "B", "A"
`
}

ofQueue

public static <E> Queue<E> ofQueue(E... elements)

Creates an immutable queue containing the specified elements.

This method first creates a new ArrayDeque with the given elements and then wraps it in an unmodifiable view using #unmodifiableQueue(Queue). The resulting queue is immutable, so any attempt to modify it will result in an UnsupportedOperationException.

Example Usage

`Queue queue = ofQueue("Hello", "World");
System.out.println(queue); // prints [Hello, World]

Queue emptyQueue = ofQueue();
System.out.println(emptyQueue); // prints []

queue.add("Java"); // throws UnsupportedOperationException
`

newArrayDeque

public static <E> ArrayDeque<E> newArrayDeque()

Creates a new empty ArrayDeque instance.

Example Usage

`ArrayDeque deque = newArrayDeque();
deque.add("Hello");
deque.add("World");
System.out.println(deque); // prints [Hello, World]
`

newArrayDeque

public static <E> ArrayDeque<E> newArrayDeque(int initialCapacity)

Creates a new ArrayDeque instance with the specified initial capacity.

Example Usage

`ArrayDeque deque = newArrayDeque(16);
deque.add("Hello");
deque.add("World");
System.out.println(deque); // prints [Hello, World]
`

newArrayDeque

public static <E> ArrayDeque<E> newArrayDeque(E... elements)

Creates a new ArrayDeque instance containing the specified elements.

Example Usage

`ArrayDeque deque = newArrayDeque("Hello", "World");
System.out.println(deque); // prints [Hello, World]

ArrayDeque emptyDeque = newArrayDeque();
System.out.println(emptyDeque); // prints []
`

See Also

  • Queue

This documentation was auto-generated from the source code of microsphere-java.

Home

java-annotations

java-core

jdk-tools

lang-model

annotation-processor

java-test

Clone this wiki locally