Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java, ConcurrentLinkedDeque vs ConcurrentLinkedQueue - the difference?

Api links for ConcurrentLinkedDeque and ConcurrentLinkedQueue:

http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentLinkedDeque.html

http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html

What is the difference between the two?

The first one, DeQueue has a lot more methods, but what is the fundamental difference between the two?

like image 419
mjs Avatar asked Jan 30 '15 12:01

mjs


1 Answers

Both collections are thread-safe. The difference is that a ConcurrentLinkedDeque implements a Deque, which supports addition and removal of elements at both ends (e.g. addFirst and addLast), whereas ConcurrentLinkedQueue implements a Queue which allows insertion at one end called the tail of the queue and removal at the other end, called the head of the queue.

like image 57
M A Avatar answered Sep 18 '22 11:09

M A