-
Bug
-
Resolution: Fixed
-
P5
-
None
-
None
The spec states that a deque created with the default constructor should be able to hold 16 elements.
https://docs.oracle.com/javase/10/docs/api/java/util/ArrayDeque.html#%3Cinit%3E()
"""
Constructs an empty array deque with an initial capacity sufficient to hold 16 elements.
"""
In the constructor an array of size 16 is created:
elements = new Object[16];
However, one element is always null:
/**
* The array in which the elements of the deque are stored.
* All array cells not holding deque elements are always null.
* The array always has at least one null slot (at tail).
*/
transient Object[] elements;
which leaves us space for only 15 elements, contrarily to what the spec promises.
https://docs.oracle.com/javase/10/docs/api/java/util/ArrayDeque.html#%3Cinit%3E()
"""
Constructs an empty array deque with an initial capacity sufficient to hold 16 elements.
"""
In the constructor an array of size 16 is created:
elements = new Object[16];
However, one element is always null:
/**
* The array in which the elements of the deque are stored.
* All array cells not holding deque elements are always null.
* The array always has at least one null slot (at tail).
*/
transient Object[] elements;
which leaves us space for only 15 elements, contrarily to what the spec promises.