Close

Java Collections - Collections.checkedQueue() Examples

Java Collections Java Java API 


Class:

java.util.Collections

java.lang.Objectjava.lang.Objectjava.util.Collectionsjava.util.CollectionsLogicBig

Method:

public static <E> Queue<E> checkedQueue(Queue<E> queue,
                                        Class<E> type)

Returns a dynamically typesafe view of the specified Queue.


Examples


package com.logicbig.example.collections;

import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Queue;

public class CheckedQueueExample {

public static void main(String... args) {
Comparator comparator = (o1, o2) -> 1;
Queue<Integer> queue = new PriorityQueue<>(comparator);
queue.offer(1);
queue.offer(2);
System.out.println(queue);

Queue queue2 = queue;
queue2.offer("three");
System.out.println(queue2);
}
}

Output

[1, 2]
[1, 2, three]




Using checkedQueue:

package com.logicbig.example.collections;

import java.util.Collections;
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Queue;

public class CheckedQueueExample2 {

public static void main(String... args) {
Comparator comparator = (o1, o2) -> 1;
Queue<Integer> queue = new PriorityQueue<>(comparator);
queue = Collections.checkedQueue(queue, Integer.class);
queue.offer(1);
queue.offer(2);
System.out.println(queue);

Queue queue2 = queue;
queue2.offer("three");
System.out.println(queue2);
}
}

Output

Caused by: java.lang.ClassCastException: Attempt to insert class java.lang.String element into collection with element type class java.lang.Integer
at java.util.Collections$CheckedCollection.typeCheck(Collections.java:3037)
at java.util.Collections$CheckedQueue.offer(Collections.java:3187)
at com.logicbig.example.collections.CheckedQueueExample2.main(CheckedQueueExample2.java:25)
... 6 more




See Also