Empty ArrayDeque:
a -> nothing ( a == NULL )
length = 0, j = 0, n = 0

enqueue the letters 'a' through 'e':
a -> [ a | b | c | d | e | . | . | . | . | . ]
length = 10, j = 0, n = 5

dequeue the letter 'a':
a -> [ . | b | c | d | e | . | . | . | . | . ]
length = 10, n = 4, j = 1

enqueue the letter 'f'
a -> [ . | b | c | d | e | f | . | . | . | . ]
length = 10, n = 5, j = 1

dequeue once and enqueue 'g':
a -> [ . | . | c | d | e | f | g | . | . | . ]
length = 10, n = 5, j = 2

3 more dequeues and enqueues:
a -> [ . | . | . | . | . | f | g | h | i | j ]
length = 10, n = 5, j = 5

enqueue 'k':
a -> [ k | . | . | . | . | f | g | h | i | j ]
length = 10, n = 6, j = 5

enqueue 4 more times:
a -> [ k | l | m | n | o | f | g | h | i | j ]
length = 10, n = 10, j = 5

dequeue:
a -> [ k | l | m | n | o | . | g | h | i | j ]
length = 10, n = 10, j = 6

get(0) returns 'g'
get(9) returns 'o'
get(10) is an error

two more enqueues, 'p' and 'q', causes a resize
a -> [ g | h | i | j | k | l | m | n | o | p | q | . | . | . | . | . | . | . | . | . ]
length = 20, n = 11, j = 0